26 votos

Conjunto de dos botones al mismo ancho independientemente del tamaño de la pantalla?

Ok, tengo dos botones en el esquema lineal:

<LinearLayout android:id="@+id/linearLayout1" 
              android:layout_height="wrap_content" 
              android:layout_width="fill_parent">
        <Button android:id="@+id/aktiviraj_paket" 
                android:text="Aktiviraj" 
                android:layout_height="40sp" 
                android:layout_width="160sp" 
                android:background="@drawable/my_border3" 
                android:onClick="myClickHandle"></Button>
        <Button android:id="@+id/deaktiviraj_paket" 
                android:text="Deaktiviraj" 
                android:layout_height="40sp" 
                android:layout_width="fill_parent" 
                android:background="@drawable/my_border3"
                android:onClick="myClickHandle">
        </Button>
</LinearLayout>

Así que la cosa es, si puedo usar relleno de los padres, en tanto los botones, que son uno en el otro, por lo que me han dado los primeros botón 160sp ancho, y la segunda es la fill_parent. Si esto se muestra en el 4 pulgadas o más pequeños, los botones son del mismo tamaño, pero si lo intento en la tablet (10 pulgadas) en el primer botón de estancias 160sp de ancho, y la segunda se extendía hasta el final de la pantalla (porque fill_parent). Puedo hacer esto, por lo que ambos botones podrían ser incluso el tamaño no importa de qué tamaño es la pantalla ??

61voto

Che Jami Puntos 3555

Uso android:layout_weight="1" tanto Buttons. Set android:layout_width="0dp" en ambos. Dado que tanto los botones ahora tienen igual ponderación, ahora cada uno tiene la mitad de la de los padres de ancho.

Usted puede encontrar más información aquí: http://developer.android.com/guide/topics/ui/layout/linear.html

6voto

user3838403 Puntos 11

Si lo que estás buscando es hacer todos los botones de la anchura de la más amplia botón, el ajuste de los pesos no va a hacer eso. En lugar, usted puede poner todos los botones en un TableLayout:

   <TableLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/short_text" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/enter_manually" />
        </TableRow>
    </TableLayout>

Este diseño se muestran 2 botones, uno en la parte superior de la otra, de la misma anchura.

3voto

Sameer Puntos 6735
Display display=getWindowManager().getDefaultDisplay();
    int width=display.getWidth();
    btn1.setWidth(width/2);
    btn2.seTwidth(width/2);

Configurar nada en el archivo xml, a continuación, en primer lugar, encontrar el ancho del dispositivo, a continuación, establecer el ancho de la mitad a ambos botón Ahora En todos los dispositivos que se verá exactamente la misma

2voto

Bogdan M. Puntos 579

para cada botón:

android:layout_weight="0.5"
android:layout_width="0dp"

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X