2016-09-22 2 views
1

J'ai créé un bouton à bascule programme et l'utiliser, mais quand il est en cours d'exécution sur l'appareil, l'état du bouton à bascule chevauche sur la button.like bascule dans l'image enter image description heretexte Chevauchement sur togglebutton dans Android

le code pour genouillère est donnée ci-dessous

ToggleButton tb[]; 
      tb=new ToggleButton[len]; 
      tb[i]=new ToggleButton(this); 

      LinearLayout.LayoutParams tbparams = new LinearLayout.LayoutParams 
        (90, LinearLayout.LayoutParams.WRAP_CONTENT); 
      tbparams.setMargins(20, 0, 0, 0); 
      tb[i].setBackgroundResource(R.drawable.bgtoggle); 
      tb[i].setId(i+1); 
      tb[i].setTextOff(" "); 
      tb[i].setTextOn(" "); 
      tb[i].setTag(stringList.get(i)); 
      tb[i].setPadding(4, 4, 4, 4); 
      tb[i].setLayoutParams(tbparams); 
      layout.addView(tb[i]); 

    tb[i].setOnCheckedChangeListener(handleOnClick(
      tb[i], tb[i].getId(),tb[i].getTag(),stringList)); 

bgtoggle.xml

<?xml version="1.0" encoding="UTF-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 



    <!--<item android:drawable="@drawable/on" android:state_checked="true"/> 

    <item android:drawable="@drawable/off" android:state_checked="false"/> 
    <item android:drawable="@drawable/off"></item>--> 

    <item android:drawable="@drawable/onsw" android:state_checked="true"/> 

    <item android:drawable="@drawable/offsw" android:state_checked="false"/> 
    <item android:drawable="@drawable/offsw"></item> 


</selector> 

s'il vous plaît aider

+0

Il semble que vous n'ayez pas utilisé ** Mise en page ** correctement. Je veux dire le rembourrage requis, la marge et la gravité. –

+0

@MehrajMalik le bouton on et off in toggle n'est pas créé par moi –

+0

@Vishal Vous avez activé/désactivé les textes à vider. Donc, idéalement, cela ne devrait pas arriver. Peut-on définir un texte aléatoire comme 'setTextOff (" blahOFF ")' et 'setTextOn (" blahON ")' et mettre à jour le changement? Merci! – Mithun

Répondre

2

Merci à tous, je l'ai corrigé en mettant textcolor tranparent

color value= #00ffffff 
+0

Nice. En outre, vous pouvez regarder ce lien pour la fermeture sur le problème réel - http://stackoverflow.com/a/18599104/6527796 – Mithun

0

Si vous ajoutez le bouton à bascule dans la mise en page il affiche que vous attendez qu'il soit. Mais dans votre cas, où vous le créez dynamiquement, vous pouvez ajouter

tb [i] .performClick();

juste avant de l'ajouter dans votre disposition linéaire.