SJS*_*SJS 123 java android colors android-activity
如何以编程方式将活动的背景颜色设置为白色?
Aru*_*mar 248
setContentView()通话后,在您的活动中添加此单行
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)
Ham*_*amy 137
获取所使用的根布局的句柄,然后在其上设置背景颜色.根布局是你用setContentView调用的.
setContentView(R.layout.main);
// Now get a handle to any View contained
// within the main layout you are using
View someView = findViewById(R.id.randomViewInMainLayout);
// Find the root view
View root = someView.getRootView();
// Set the color
root.setBackgroundColor(getResources().getColor(android.R.color.red));
Run Code Online (Sandbox Code Playgroud)
Dav*_*vid 80
我更喜欢按主题着色
<style name="CustomTheme" parent="android:Theme.Light">
<item name="android:windowBackground">@color/custom_theme_color</item>
<item name="android:colorBackground">@color/custom_theme_color</item>
</style>
Run Code Online (Sandbox Code Playgroud)
I82*_*uch 58
?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:id="@+id/myScreen"
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
换句话说,"android:background"是您要更改的XML中的标记.
如果需要动态更新背景值,请参阅以下内容:
你可以用它来调用预定义的android颜色:
element.setBackgroundColor(android.R.color.red);
Run Code Online (Sandbox Code Playgroud)
如果要使用自己的一种自定义颜色,可以将自定义颜色添加到strings.xml,然后使用下面的内容来调用它.
element.setBackgroundColor(R.color.mycolour);
Run Code Online (Sandbox Code Playgroud)
但是,如果要在layout.xml中设置颜色,可以修改并将以下内容添加到接受它的任何元素.
android:background="#FFFFFF"
Run Code Online (Sandbox Code Playgroud)
在你的onCreate()方法中:
getWindow().getDecorView().setBackgroundColor(getResources().getColor(R.color.main_activity_background_color));
Run Code Online (Sandbox Code Playgroud)
您还需要向values文件夹添加一个名为的新XML文件,color.xml并为其指定一个新的颜色属性:
color.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="main_activity_background_color">#000000</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
请注意,您可以命名所需的color.xml任何名称,但您可以通过代码将其命名为R.color.yourId.
编辑
因为getResources().getColor()已弃用,请getWindow().getDecorView().setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.main_activity_background_color));
改用.
| 归档时间: |
|
| 查看次数: |
237880 次 |
| 最近记录: |