2016-09-22 3 views
1

Я создал кнопку переключения программен и использовать его, но когда он работает на устройстве, состояние тумблера перекрывается над тумблером button.like в образе enter image description hereПерекрытие текста поверх ToggleButton в андроиде

Кодекса для переключения приводится ниже

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> 

Пожалуйста, помогите

+0

Возможно, вы не использовали ** Layout ** правильно. Я имею в виду требуемую прокладку, запас и гравитацию. –

+0

@MehrajMalik кнопка включения и выключения в переключателе не создана мной –

+0

@Vishal Вы установили вкл/выкл тексты для пустых. Поэтому в идеале этого не должно быть. Можно ли задать случайный текст, например 'setTextOff (" blahOFF ")' и 'setTextOn (" blahON ")' и обновить изменения? Благодаря! – Mithun

ответ

2

Спасибо всем, я поправил его, установив TextColor дерево синтаксиса прояснит

color value= #00ffffff 
+0

Nice. Кроме того, вы можете посмотреть эту ссылку для закрытия по актуальной проблеме - http://stackoverflow.com/a/18599104/6527796 – Mithun

0

Если добавить кнопку переключения в макете, то он будет отображаться как вы ожидаете, что это будет. Но в вашем случае, когда вы создаете его динамически, вы можете добавить

tb [i] .performClick();

перед тем, как добавить его в свой линейный макет.

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