以编程方式在layerlist android中创建以下代码xml
我必须将背景设置为许多不同颜色的视图。但是如果我这样做的话,xml将是大约20个文件,这是巨大的,所以我想将下面的xml以编程方式在layerlist android中创建以下代码xml,android,android-drawable,layer-list,android-shape,android-shapedrawable,Android,Android Drawable,Layer List,Android Shape,Android Shapedrawable,我必须将背景设置为许多不同颜色的视图。但是如果我这样做的话,xml将是大约20个文件,这是巨大的,所以我想将下面的xml层列表转换成编程方式,转换成完全独立的模块,甚至不需要一个xml,这样它就可以重用,请帮帮我 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> //i can create t
层列表
转换成编程方式,转换成完全独立的模块,甚至不需要一个xml,这样它就可以重用,请帮帮我
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
//i can create this drawable
<item>
<shape android:shape="rectangle">
<solid android:color="#ff2632"/>
</shape> </item>
//I don't know how to achieve this one, especially this "bottom property"
<item android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="#d7ffa2"/>
</shape> </item>
</layer-list>
//我可以创建这个可绘制的
//我不知道如何实现这一点,尤其是这个“底层属性”
请查找以下代码
// This is the first item in your XML file
GradientDrawable layer1 = new GradientDrawable();
layer1.setShape(GradientDrawable.RECTANGLE);
layer1.setColor(Color.parseColor("#ff2632"));
// This is your second item in your XML file
GradientDrawable layer2 = new GradientDrawable();
layer2.setShape(GradientDrawable.RECTANGLE);
layer2.setColor(Color.parseColor("#d7ffa2"));
// This will give the bottom space which you are unable to do
InsetDrawable insetLayer2 = new InsetDrawable(layer2, 0, 0, 0, 2);
// This is the final drawable which is to be used
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[]{layer1, insetLayer2});
请参阅此,并让我知道有关问题。请查找以下代码
// This is the first item in your XML file
GradientDrawable layer1 = new GradientDrawable();
layer1.setShape(GradientDrawable.RECTANGLE);
layer1.setColor(Color.parseColor("#ff2632"));
// This is your second item in your XML file
GradientDrawable layer2 = new GradientDrawable();
layer2.setShape(GradientDrawable.RECTANGLE);
layer2.setColor(Color.parseColor("#d7ffa2"));
// This will give the bottom space which you are unable to do
InsetDrawable insetLayer2 = new InsetDrawable(layer2, 0, 0, 0, 2);
// This is the final drawable which is to be used
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[]{layer1, insetLayer2});
请参考此内容,并告知问题。您要更改哪种颜色?@NigamPatro,@NigamPatro,基本上我必须将此xml设置为具有不同颜色代码的五月视图的背景。底部是什么?您要更改哪种颜色的可能重复?@NigamPatro,@NigamPatro,基本上,我必须将此xml设置为具有不同颜色代码的may视图的背景Mean,底部部分?可能与您使用属性的buddy重复
Insettlayer 2
正在执行此任务。请您详细解释上述内容,以便我能理解您无法理解的部分?请浏览注释。新建LayerDrawable(新建Drawable[]{layer1,insettlayer2});buddy在您使用属性的地方,Insettlayer 2
正在执行此任务。请您详细解释上述内容,以便我了解您无法理解的部分?请浏览注释。新建LayerDrawable(新建Drawable[]{layer1,insettlayer2});