Question

Juste une petite question sur la façon dont vous aller sur la mise en œuvre cela. Je veux qu'il y ait des boutons en bas de l'écran, mais si la taille de l'écran est plus grand, sera ajouté plus de boutons.

Par exemple, à une petite taille de l'écran, il pourrait y avoir 4-5 boutons en bas, mais si vous exécutiez sur une tablette ou quelque chose de similaire, il y aurait peut-être 20 boutons.

Toutes les suggestions? Il ne peut pas défiler non plus, il a suffit de remplir dynamiquement la mise en page avec des boutons.

Merci.

Était-ce utile?

La solution

Pour mettre boutons au bas d'une mise en page, faire quelque chose comme ceci à votre mise en page:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_layout">
    <LinearLayout
        android:layout_height="wrap_content"
        android:id="@+id/button_layout"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:gravity="center">
        <Button
            android:id="@+id/Button01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 1"></Button>
        <Button
            android:id="@+id/Button02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 2"></Button>
        <Button
            android:id="@+id/Button03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 3"></Button>
    </LinearLayout>
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/button_layout"
        android:id="@+id/content">
        <ListView
            android:id="@+id/ListView01"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"></ListView>
    </FrameLayout>
</RelativeLayout>

Pour modifier le nombre de boutons sont représentés en fonction de la taille de l'écran, vous devez layouts séparés pour plusieurs écrans tailles ..

http://developer.android.com/guide/practices/screens_support.html

Autres conseils

On dirait que vous voulez créer votre propre classe de mise en page personnalisée. Ce ou tout simplement remplir un LinearLayout (par exemple) jusqu'à ce que vous manquez d'espace d'écran.

Si vous connaissez la taille de vos boutons en pixels, vous pouvez utiliser DisplayMetrics pour obtenir les dimensions de l'écran, puis de calculer le nombre de boutons adaptée à votre espace alloué.

     DisplayMetrics metrics = new DisplayMetrics();
     getWindowManager().getDefaultDisplay().getMetrics(metrics);

metrics.heightPixels GIVS hauteur absolue en pixels metrics.ydpi donne pixels physiques exactes par pouce de l'écran

et metrics.density donne la densité logique à des fins d'échelle

voir ici: http://developer.android.com/reference/ Android / util / DisplayMetrics.html

puis faire quelque chose comme

do{
    Button button=new Button(context);
    button.setText("yada yada")
    button.allYoursettings....
    .
    .
    LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    LinearLayout layout=(LinearLayout) findViewById(R.id.yourlayout);
    layout.addView(button,p);
} while(havespaceleft);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top