2016-04-09 1 views
1

Я пытаюсь использовать кнопку Toggle, поддерживая обратно к API 11. Проблема заключается в том, что этот стандарт Toggle Buttom имеет серый цвет фона, в то время как я просто хочу, чтобы он был белым (например, фон).Android Toggle Button - Цвет фона

Example picture

Я пытался:

android:background="@color/white" 
android:background="@null" 

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

Это соответствующая часть макета:

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <Button 
       android:id="@+id/event_bottom_sheet_attenders" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@color/white" 
       android:drawableLeft="@drawable/state_list_people_person_bottom_sheet" 
       android:drawableStart="@drawable/state_list_people_person_bottom_sheet" 
       android:gravity="center" 
       android:padding="10dp" 
       android:text="Attenders" 
       android:textColor="@color/material_teal_500" /> 

      <ToggleButton 
       android:id="@+id/event_bottom_sheet_toggle" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:checked="true" 
       android:gravity="center" 
       android:padding="10dp" 
       android:textColor="@color/material_teal_500" 
       android:textOff="Not going" 
       android:textOn="Going" /> 

</LinearLayout> 

Как я могу идти о фиксации этого?

Заранее спасибо.

ответ

1

Для начала вы можете рассмотреть различные android themes.

Выберите тему, которая идеально подходит по своему вкусу, или вы можете настроить свой собственный, если хотите что-то особенное.

Из того, что вы описали, вы можете попробовать тему Android Light. Изменение информации об активности как таковой:

<activity android:theme="@android:style/Theme.Light"> 

P/s: Применение темы позволяет ваше приложение тоже выглядит более последовательным.

+0

В моей деятельности используется темная тема, которую я хотел бы сохранить. Место, где я показываю это, находится в диалоговом окне нижнего листа. Как бы я ни применил тему? – CounterFlame

+0

В этом случае вам нужно создать свой пользовательский вариант, чтобы установить его в качестве фона. – sihao

+0

Хм, да, подумал. Есть ли у вас какие-либо идеи о том, как я могу найти выталкиваемый, обычно используемый легкой темой, поэтому я могу просто скопировать туда и настроить по мере необходимости? – CounterFlame

0

Проверьте это: -

ToggleButton Btn=new ToggleButton(this);// or get it from the layout by ToggleButton Btn=(ToggleButton) findViewById(R.id.IDofButton); 
    Btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      // TODO Auto-generated method stub 
      if(isChecked) 
       buttonView.setBackgroundColor(Color.GREY); 
      else buttonView.setBackgroundColor(Color.WHITE); 
     } 
    }); 

ли это соответствующим образом, как вам нужно.

Надеюсь, это поможет. :)

+0

Если я это сделаю, я также потеряю индикатор (голубой бар внизу) , – CounterFlame

 Смежные вопросы

  • Нет связанных вопросов^_^