70 votes

Comment faire en sorte que le bouton occupe 50 % de la largeur de l'écran sous Android ?

Je veux que le bouton remplisse toujours 50% de la largeur de l'écran, comme lorsque je fais pivoter l'appareil horizontalement ou verticalement, le bouton remplit toujours 50% de la largeur.

192voto

RoflcoptrException Points 22111

Cela devrait être possible en utilisant weightSum et layout_weight :

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_height="wrap_content"
 android:layout_width="fill_parent"
 android:orientation="horizontal"
 android:weightSum="1.0">
 <Button
  android:id="@+id/textbox3"
  android:layout_height="wrap_content"
  android:layout_weight=".5"
  android:layout_width="0dip"
  android:textSize="12sp" />
</LinearLayout>

3voto

Ruan Points 508

Pour faire cela en code.

 //Get screen width.
        DisplayMetrics metrics = new DisplayMetrics();
        WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
        wm.getDefaultDisplay().getMetrics(metrics);
        final float width = metrics.widthPixels;

        LinearLayout.LayoutParams layoutParamsWidth50 = new LinearLayout.LayoutParams((int) (width/2) , ViewGroup.LayoutParams.MATCH_PARENT );

        textbox3.setLayoutParams(layoutParamsWidth50);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X