Mei*_*eir 5 android android-layout android-xml
我有以下xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<corners android:radius="10dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它只是一个带圆角的形状.我将它用于活动布局中的背景,如下所示:
android:background="@drawable/rounded_corners"
Run Code Online (Sandbox Code Playgroud)
文件中的形状当前设置为白色.在不同的布局中,我需要不同的颜色.我是否需要为每种颜色创建不同形状的xml文件?我需要一种方法来在布局中指定要发送到背景的颜色,这样我就可以使用相同的xml来获得我想要的任何颜色.
谢谢.
Do I need to create a different shape xml file for each color?
Run Code Online (Sandbox Code Playgroud)
选项2的解决方案:
//形状可绘制(rounded_corners.xml)
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<corners android:radius="10dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
//布局文件
<Button
android:id="@+id/mButton"
...
android:background="@drawable/rounded_corners"
/>
Run Code Online (Sandbox Code Playgroud)
//java(活动)文件
Button mButton = (Button) findViewById(R.id.mButton);
ShapeDrawable rounded_corners = (ShapeDrawable )mButton.getBackground();
rounded_corners.getPaint().setColor(Color.RED);
Run Code Online (Sandbox Code Playgroud)
我希望它会有所帮助!
| 归档时间: |
|
| 查看次数: |
5605 次 |
| 最近记录: |