What I'm trying to achieve is to use a Drawable with a couple of layers inside it, but control some values at runtime such as the startColor for the gradient. Here's what I have in my_layered_shape.xml:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="#FF000000" /> <solid android:color="#FFFFFFFF" /> </shape> </item> <item android:top="1dp" android:bottom="1dp"> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="#FF000000" /> <gradient android:startColor="#FFFFFFFF" android:centerColor="#FFFFFF88" android:endColor="#FFFFFFFF" android:gradientRadius="250" android:centerX="1" android:centerY="0" android:angle="315" /> </shape> </item> </layer-list> And if I use mMyImageView.setBackgroundResource(R.drawable.my_layered_shape) it works. I don't mind splitting the xml if I have to, or doing the whole thing programatically as long as there's a way to get at the various color values. The concept I'm going for programmatically (i.e. my best shot at doing the same in code as this xml) is: Drawable[] layers = new Drawable[2]; ShapeDrawable sd1 = new ShapeDrawable(new RectShape()); sd1.getPaint().setColor(0xFFFFFFFF); sd1.getPaint().setStyle(Style.STROKE); sd1.getPaint().setStrokeWidth(1); // sd1.getPaint().somehow_set_stroke_color? ShapeDrawable sd2 = new ShapeDrawable(new RectShape()); sd2.getPaint().setColor(0xFF000000); sd2.getPaint().setStyle(Style.STROKE); // sd2.getPaint().somehow_set_stroke_color? // sd2.getPaint().somehow_set_gradient_params? layers[0] = sd1; layers[1] = sd2; LayerDrawable composite = new LayerDrawable(layers); mMyImageView.setBackgroundDrawable(composite); Thanks -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

