Настройка ToggleButton без PNG - PullRequest
       2

Настройка ToggleButton без PNG

2 голосов
/ 13 ноября 2011

В моем приложении я использую ToggleButton, но цвета приложения - черный и темно-серый, поэтому я хочу сделать ToggleButton черным.

Есть ли способ изменить фон дляToggleButton без использования файлов PNG?

Ответы [ 2 ]

3 голосов
/ 13 ноября 2011

Возможно, простой выбор - ваш выбор.Вы просто указываете состояния кнопок, формы и цвета, такие как углы, градиенты и любые другие:

<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 голос
/ 13 ноября 2011

Я бы порекомендовал не использовать никакие кнопки, если вы хотите изменить их внешний вид. Вместо этого гораздо проще использовать вид (например), установить ширину и высоту макета, а также добавить собственный фон. Это цвет фона или изображения, которые меняются при нажатии.

Например:

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"
            />
...