Search code examples
androidtogglebutton

Set same height as width at a ToggleButton


I have following Layout, with 7 ToggleButtons in a row. Independently from the resolution, I have always 7 Buttons in the complete horizontal width. Now I want to set the same height as the width but it does not work. I tried following without success ():

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

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

Second try without success:

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

What can I do?

Here I want have the same height as the width


Solution

  • Solution:

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

    And:

        int btnSize=tb_Mo.getWidth();
        tb_Mo.setHeight(btnSize);