如何将.xml转换为编程方式?

时间:2015-06-11 11:14:47

标签: android

我是新的Android开发人员。我有问题如何将此代码转换为编程。我以编程方式对颜色进行了更改。

<stroke android:width="2dp" android:color="@color/appThemeColor"/>

<solid android:color="@color/appBGColor" />

<padding
    android:bottom="1dp"
    android:left="1dp"
    android:right="1dp"
    android:top="1dp" />

<corners android:radius="1dp" />

1 个答案:

答案 0 :(得分:0)

您可以通过编程方式添加颜色,您应该将代码放在其中:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke android:width="2dp" android:color="@color/azul_oscuro"/>
<solid android:color="@color/azul_1" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners android:radius="1dp" />
</shape>

然后,您可以将形状指向布局中的任何项目,例如视图:

<View

机器人:layout_width =&#34; 56dp&#34; 机器人:layout_height =&#34; 40dp&#34;机器人:背景=&#34; @可绘制/ yourshapefilename&#34;机器人:ID =&#34; @ + ID / view_color&#34; 机器人:启用=&#34;假&#34; /&GT;

在扩充布局时,在代码中,您可以通过以下方式更改颜色:

View myvie = findViewById(R.id.view_color);
GradientDrawable draw = (GradientDrawable)myvie.getBackground();
draw.setColor(getResources().getColor(R.color.rojo)); //--> change the solid color here
draw.setStroke(7, getResources().getColor(R.color.green)); // -->change  stroke color and size