我正在尝试使用其他类更改窗口小部件的颜色。但我找不到我想要改变的布局,因为这个布局是在另一个xml文件中。窗口小部件布局具有使用shape.xml作为背景的LinearLayout。我尝试了很多东西,但没有任何效果。
这是MyShape.xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<solid
android:color="#DDf5f5f5" />
<stroke
android:width="2dp"
android:color="#FFFFFFFF" />
<corners
android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp" />
</shape>
这就是我点击Change Collor按钮时班级所做的事情:
public void onClick(View v) {
LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService(getApplicationContext().LAYOUT_INFLATER_SERVICE);
LinearLayout myRoot = new LinearLayout(getApplicationContext());
View itemView = inflater.inflate(R.layout.widget_layout, myRoot);
LinearLayout linear = (LinearLayout) itemView.findViewById(R.id.layout);
GradientDrawable sd = (GradientDrawable) linear.getBackground().mutate();
sd.setColor(picker.getColor());
}
类WidgetColorPicker使用布局“widget_color.xml”,我想要更改的LinearLayout位于“widget_layout.xml”上。