Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中同时更改多个视图的背景_Android_Android Layout - Fatal编程技术网

如何在android中同时更改多个视图的背景

如何在android中同时更改多个视图的背景,android,android-layout,Android,Android Layout,我已经用xml创建了一些视图,这些视图在我的应用程序中用作行。每个视图都具有完全相同的属性。 例如: 我想在应用程序打开时同时更改所有这些视图的颜色。 创建ID,然后在java中为所有ID使用findviewbyid并不是很有效。实现这一目标的最佳方式是什么? 我希望它们始终具有相同的颜色。Android中没有XML快捷方式,因为您无法创建所述的颜色变化动画。现在,如果您想在使用Java时获得干净代码方面的“效率”;看一看,这是一个通过在代码中使用Java注释来绑定视图的库。它使您的代码非常

我已经用xml创建了一些视图,这些视图在我的应用程序中用作行。每个视图都具有完全相同的属性。 例如:


我想在应用程序打开时同时更改所有这些视图的颜色。 创建ID,然后在java中为所有ID使用findviewbyid并不是很有效。实现这一目标的最佳方式是什么?
我希望它们始终具有相同的颜色。

Android中没有XML快捷方式,因为您无法创建所述的颜色变化动画。现在,如果您想在使用Java时获得干净代码方面的“效率”;看一看,这是一个通过在代码中使用Java注释来绑定视图的库。它使您的代码非常具有声明性,您可以避免使用findviewbyd和其他特性

依赖关系

添加到project build.gradle文件中

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
添加到你的app module build.gradle文件

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
活动(或视图或片段)

为了使Butterknife绑定视图,我们将请求它绑定我们的活动,onCreate是一个好地方。然后,我们将为Butterknife添加要绑定视图的字段,在本例中为视图列表,不过您也可以逐个绑定视图。然后,我们将更改此示例的背景

public class MyActivity extends Activity {
    @BindViews({R.id.view1, R.id.view2, R.id.view3})
    List<View> views;

    public void onCreate(...) {
        ...
        setContentView(...);
        Butterknife.bind(this);

        for(View v : views) {
            v.setBackgroundColor(ContextCompat.getColor(this, R.color.colorAccent));
        }
    }
}

Android中没有XML快捷方式,因为您无法创建如上所述的颜色变化动画。现在,如果您想在使用Java时获得干净代码方面的“效率”;看一看,这是一个通过在代码中使用Java注释来绑定视图的库。它使您的代码非常具有声明性,您可以避免使用findviewbyd和其他特性

依赖关系

添加到project build.gradle文件中

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
添加到你的app module build.gradle文件

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
活动(或视图或片段)

为了使Butterknife绑定视图,我们将请求它绑定我们的活动,onCreate是一个好地方。然后,我们将为Butterknife添加要绑定视图的字段,在本例中为视图列表,不过您也可以逐个绑定视图。然后,我们将更改此示例的背景

public class MyActivity extends Activity {
    @BindViews({R.id.view1, R.id.view2, R.id.view3})
    List<View> views;

    public void onCreate(...) {
        ...
        setContentView(...);
        Butterknife.bind(this);

        for(View v : views) {
            v.setBackgroundColor(ContextCompat.getColor(this, R.color.colorAccent));
        }
    }
}

创建ID然后在java中为所有ID使用findviewbyid不是很有效。
为什么效率不高?尝试使用
ListView
及其
divider
s
创建ID,然后在java中为所有ID使用findviewbyid不是很有效。
为什么效率不高?尝试使用
ListView
及其
divider
s