我在xml中设置了一个圆形(形状),用于切换按钮上的可绘制右侧。 circle.xml的初始颜色为绿色,但我不能让它显示在按钮上。当我使用图像时,我能够看到图像,所以我确定问题在于圆形或形状。 这是他用右侧抽屉切换按钮。
<ToggleButton
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:background="@drawable/custom_fixture_buttons"
android:textColor="@drawable/white"
android:textOff="F1"
android:textOn="F1"
android:drawableRight="@drawable/circle"
android:textSize="30sp" />
这是circle.xml的代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/circle"
android:shape="oval"
android:color="#ff00FFFF" >
</shape>
我总共有10个切换按钮,右侧可绘制,需要分别更改每个颜色,这里有一个设置每个颜色点的方法。第一代在每个按钮上使用单独的图像,但我需要更改代码以将其应用于切换按钮drawableright。我尝试了setCompoundDrawablesWithIntrinsicBounds,但得到了错误。
switch (index) {
case 0: {
Resources res = getResources();
final Drawable drawable = res.getDrawable(R.drawable.circle);
drawable.setColorFilter(Color.rgb(i, j, k), Mode.SRC_ATOP);
// ImageView img = (ImageView) findViewById(R.id.colordot1);
// img.setBackgroundDrawable(drawable);
// Fixture1.setCompoundDrawablesWithIntrinsicBounds(0, 0,img, 0);
break;
}
答案 0 :(得分:0)
您错误地创建了可绘制的内容。
以下是一个可绘制彩色圆圈的示例:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<solid
android:color="#00FFFF" />
</shape>