Domanda

Solo una breve domanda su come si dovrebbe fare per l'attuazione del presente. Io voglio che ci siano pulsanti nella parte inferiore dello schermo, ma se la dimensione dello schermo è più grande, sarebbe aggiunto più pulsanti.

Per esempio, ad un formato piccolo schermo, ci potrebbero essere 4-5 pulsanti nella parte inferiore, ma se è stato eseguito su un tablet o qualcosa di simile, non ci sarebbe forse 20 pulsanti.

Qualche suggerimento? Non può scorrere sia, deve solo compilare dinamicamente il layout con tasti.

Grazie.

È stato utile?

Soluzione

Per mettere pulsanti nella parte inferiore di un layout, fare qualcosa di simile al layout:

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

Per modificare il numero di tasti vengono mostrati in base alla dimensione dello schermo, è necessario implementare schemi separati per Screen diverse dimensioni ..

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

Altri suggerimenti

Suona come si desidera creare la propria classe di layout personalizzato. Questo o semplicemente riempire un LinearLayout (per esempio) fino ad esaurimento di spazio sullo schermo.

Se si conosce la dimensione dei pulsanti in pixel si potrebbe usare DisplayMetrics per ottenere le dimensioni dello schermo, quindi calcolare quanti pulsanti più adatte alla propria spazio assegnato.

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

metrics.heightPixels givs altezza assoluta in pixel metrics.ydpi dà esatte pixel fisici per pollice dello schermo

e metrics.density dà la densità logica per scopi scala

vedi qui: http://developer.android.com/reference/ Android / util / DisplayMetrics.html

poi basta fare qualcosa di simile

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top