可画右键切换按钮

时间:2014-01-09 15:37:47

标签: android xml android-layout

我在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;
}

1 个答案:

答案 0 :(得分:0)

您错误地创建了可绘制的内容。

以下是一个可绘制彩色圆圈的示例:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid 
        android:color="#00FFFF" />

</shape>