Установите ту же высоту, что и ширина в ToggleButton

У меня есть следующий макет с 7 ToggleButtons подряд. Независимо от разрешения, у меня всегда 7 кнопок по всей ширине по горизонтали. Теперь я хочу установить ту же высоту, что и ширина, но это не работает. Я безуспешно пробовал следующее ():

    tb_Mo = (ToggleButton) findViewById(R.id.tB_Mo);

    int btnSize=tb_Mo.getWidth();
    tb_Mo.setHeight(btnSize);
      //and so on for the other Buttons...

Вторая попытка без успеха:

    int btnSize=tb_Mo.getLayoutParams().width;
    tb_Mo.setLayoutParams(new LinearLayout.LayoutParams(btnSize, btnSize));
         //and so on for the other Buttons...

XML:

<ToggleButton
    android:id="@+id/tB_Mo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/btntoggle_selector"
    android:textColor="@android:color/white"
    android:textOff="OFF"
    android:textOn="ON" 
    android:layout_weight="1"/>  

    <ToggleButton
    android:id="@+id/tB_Di"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/btntoggle_selector"
    android:textColor="@android:color/white"
    android:textOff="OFF"
    android:textOn="ON" 
    android:layout_weight="1"/>  

        <ToggleButton
    android:id="@+id/tB_Mi"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/btntoggle_selector"
    android:textColor="@android:color/white"
    android:textOff="OFF"
    android:textOn="ON" 
    android:layout_weight="1"/> 
          and so on ....

Что я могу сделать?

Здесь я хочу иметь ту же высоту, что и ширина


person user1390816    schedule 20.09.2013    source источник
comment
Вы должны использовать android:layout_width="0dp" для своих <ToggleButton>. Возможно, это сработает.   -  person Evan Bashir    schedule 20.09.2013
comment
Спасибо за ответ, но он, к сожалению, не работает   -  person user1390816    schedule 20.09.2013
comment
Не могли бы вы предоставить полный макет xml? Если родитель занимает весь экран, и в данный момент это единственное, что на нем находится, вы, вероятно, получите этот эффект.   -  person Jay Snayder    schedule 20.09.2013
comment
Также может быть, что ваш layout_height установлен на wrap_content, это может предотвратить переопределение вашей функции Java. Попробуйте установить его на определенный dp.   -  person Evan Bashir    schedule 20.09.2013
comment
Да получилось!!! Я установил его на 50dp. Большое спасибо!!!   -  person user1390816    schedule 20.09.2013


Ответы (1)


Решение:

   <ToggleButton
    android:id="@+id/tB_Sa"
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:background="@drawable/btntoggle_selector"
    android:textColor="@android:color/white"
    android:textOff="OFF"
    android:textOn="ON" 
    android:layout_weight="1"/>  

И:

    int btnSize=tb_Mo.getWidth();
    tb_Mo.setHeight(btnSize);
person user1390816    schedule 20.09.2013