不使用PNG自定义切换按钮

时间:2011-11-13 10:08:06

标签: android togglebutton

在我的应用程序中,我使用ToggleButton,但应用程序颜色为黑色和深灰色,因此我想将ToggleButton设为黑色。

有没有办法在不使用PNG文件的情况下更改ToggleButton的背景?

2 个答案:

答案 0 :(得分:3)

也许你选择一个简单的选择器。你只需指定按钮状态,形状和颜色,如角落,渐变和whatevah:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_checked="true">
   <shape xmlns:android="http://schemas.android.com/apk/res/android"
          android:shape="rectangle">
    <corners android:radius="7dip"/>
    <gradient android:startColor="#Color1" 
          android:endColor="#Color2"
          android:angle="90" />
   </shape>
 </item>
 <item android:state_selected="true">
....
</item>
</selector>

然后:

<ToggleButton android:id="@+id/main_togglebutton1"
android:background="@drawable/my_toggle_button_selector"
...
/>

答案 1 :(得分:1)

如果你想改变它们的外观,我建议你不要使用任何按钮。 使用View(例如)代替它并设置它的布局宽度和高度并添加自定义背景要容易得多。这是在点击时改变的背景颜色或图像。

例如:

View v1 = (View) findViewById(R.id.yourToggleView);
v1.setBackgroundColor(Color.WHITE);
tr2Main.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        if(v1.getBackgroundColor == Color.WHITE){
                v1.setBackgroundColor(Color.RED);
        }else{
        v1.setBackgroundColor(Color.WHITE);
        }
    }
});

如果您有带视图的XML

<View android:id="@+id/yourToggleView"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="#FFFm"
            />