2016-04-09 1 views
1

J'essaie d'utiliser un bouton bascule, prenant en charge retour à API 11. Le problème est cette bascule standard Buttom semble avoir une couleur de fond grisâtre, alors que je veux juste qu'il soit blanc (comme l'arrière-plan).Android Toggle Button - Couleur d'arrière-plan

Example picture

J'ai essayé:

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

mais je perds aussi le voyant, que je veux garder. J'ai vu quelques réponses à propos de la modification de la couleur de fond du bouton bascule (créer son propre sélecteur), mais il semble que je perds également le voyant lumineux.

Ceci est la partie pertinente de la mise en page:

<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> 

Comment puis-je faire pour régler ce?

Merci d'avance.

Répondre

1

Vous pouvez commencer par regarder android themes. Choisissez un thème qui est idéal pour votre goût ou vous pouvez personnaliser le vôtre si vous voulez quelque chose de spécial. De ce que vous avez décrit, vous pouvez essayer le thème Android Light. Modifier vos informations d'activité en tant que telle:

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

P/s: L'application d'un thème permet également à votre application plus cohérente l'air trop.

+0

Mon activité utilise un thème sombre, que j'aimerais conserver. L'endroit où j'affiche ceci, est dans un dialogue de feuille de fond. De toute façon, je pourrais appliquer un thème à cela? – CounterFlame

+0

Dans ce cas, vous devez créer votre dessin personnalisable pour le définir comme arrière-plan. – sihao

+0

Hmm ouais, j'ai pensé ça aussi. Avez-vous une idée de la façon dont je peux trouver le dessin normalement utilisé par le thème de la lumière, donc je peux à peu près copier juste de là et modifier au besoin? – CounterFlame

0

Check this out: -

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); 
     } 
    }); 

Faites-en conséquence que vous avez besoin.

Espérons que cela aide. :)

+0

Si je fais cela, je perds également le voyant (la barre cyan en bas) . – CounterFlame