在切换按钮中替换底层

时间:2014-11-01 00:37:39

标签: android drawable layer togglebutton

我对Android编程比较陌生。我正在尝试创建一个以图像为背景的切换按钮。

<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:id="@+id/toggleButton"
    android:textOn="@string/text_toggle_off"
    android:textOff="@string/text_toggle_on"
    android:onClick="onToggleClicked"
    android:layout_centerVertical="true"
    android:background="@drawable/ic_off"/>

当按钮状态改变时,我以编程方式替换图像:

public void onToggleClicked(View view) {
    boolean on = ((ToggleButton) view).isChecked();
    if (on) {
        ((ToggleButton) view).setBackground(getResources().getDrawable(R.drawable.ic_on));
    } else {
        ((ToggleButton) view).setBackground(getResources().getDrawable(R.drawable.ic_off));
    }
}

问题是ToggleButton的基础层会随着状态而改变颜色。我总是希望基础层是透明的。有没有一种简单的方法可以通过Java代码执行此操作?

0 个答案:

没有答案