我在 Android 应用程序中的表格布局中使用了 drawable 。我想在点击事件上更改单元格颜色。是否可以在运行时更改drawable的颜色。我的绘画是,
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape= "rectangle" >
<solid android:color="#FFFFFF"/>
<stroke android:width="1dp" android:color="#483D8B"/>
</shape>
我想用click事件更改白色“#FFFFFF”。可以java编辑XML可绘制文件中的颜色。可能吗。 我只是编辑了背景颜色,它分散了可绘制的边框。
String StatusColor=GetColor(Retailer_x.getStatus());
Stts.setBackgroundColor(Color.parseColor(StatusColor));
需要帮助。谢谢!!!!
答案 0 :(得分:3)
ShapeDrawable sd1 = new ShapeDrawable(new RectShape());
sd1.getPaint().setColor(CommonUtilities.color);
sd1.getPaint().setStyle(Style.STROKE);
sd1.getPaint().setStrokeWidth(CommonUtilities.stroke);
sd1.setPadding(15, 10, 15, 10);
sd1.getPaint().setPathEffect(
new CornerPathEffect(CommonUtilities.corner));
ln_back.setBackgroundDrawable(sd1);
答案 1 :(得分:1)
使用表格单元格背景的selector
来更改用户单击表格单元格时的状态。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selected -->
<item android:drawable="@drawable/red_drawable" android:state_selected="true"/>
<!-- focused -->
<item android:drawable="@drawable/gray_drawable"/>
<!-- default -->
</selector>