由於我的應用程序的顏色主題是動態的,我只能使用顏色和shapedrawables創建背景drawables,我想要建立一個帶有顏色和形狀的可繪製的edittext背景,如下所示。 但我想這樣做編程LayerDrawable以編程方式
如何以編程方式構建相同的drawable?
<item>
<shape>
<solid android:color="@android:color/yellow" />
</shape>
</item>
<!-- main color -->
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp">
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
<!-- draw another block to cut-off the left and right bars -->
<item android:bottom="10dp">
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
這就是我想....
GradientDrawable border = new GradientDrawable();
border.setShape(GradientDrawable.RECTANGLE);
border.setColor(Color.WHITE);
GradientDrawable background = new GradientDrawable();
background.setShape(GradientDrawable.RECTANGLE);
background.setColor(Color.YELLOW);
GradientDrawable clip = new GradientDrawable();
clip.setShape(GradientDrawable.RECTANGLE);
border.setColor(Color.WHITE);
Drawable[] layers = {background, border, clip};
LayerDrawable layerDrawable = new LayerDrawable(layers);
layerDrawable.setLayerInset(0, 0, 0, 0, 0);
layerDrawable.setLayerInset(1, 1, 0, 1, 1);
layerDrawable.setLayerInset(2, 0, 0, 0, 10);
但結果是不同的......請大家幫忙....!
如果您的應用程序主題是動態的,爲什麼不使用樣式? http://developer.android.com/guide/topics/ui/themes.html –
我不能像xml中的顏色一樣保留值...在我的情況下,顏色值來自服務器,無論如何感謝您的時間......: ) – zaaak
你有沒有想過使用一些圖像並在這些圖像上應用濾鏡來實現主題。 – Alan