Pregunta

Sólo una pregunta rápida acerca de cómo se haría para la implementación de este. Yo quiero que haya botones en la parte inferior de la pantalla, pero si el tamaño de la pantalla es más grande, se añadiría más botones.

Por ejemplo, en un tamaño de pantalla pequeña, puede haber 4-5 botones en la parte inferior, pero si se ejecutó en una tablilla o algo similar, no habría tal vez 20 botones.

¿Alguna sugerencia? No puede desplazarse ya sea, sólo tiene que rellenar dinámicamente el diseño con botones.

Gracias.

¿Fue útil?

Solución

Para poner botones en la parte inferior de un diseño, hacer algo como esto a su diseño:

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

Para cambiar el número de botones se muestran en base al tamaño de la pantalla, se debe implementar diseños separados para múltiples tamaños de pantalla ..

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

Otros consejos

Parece que desea crear su propia clase de diseño personalizado. Eso o simplemente llenar un LinearLayout (por ejemplo) hasta que se le acaba el espacio en la pantalla.

Si conoce el tamaño de sus botones en píxeles se puede utilizar DisplayMetrics para obtener las dimensiones de la pantalla a continuación, calcular cuántos botones se ajuste en su espacio asignado.

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

metrics.heightPixels GIVS altura absoluta en píxeles metrics.ydpi da pixeles físicas exactas por pulgada de la pantalla

y metrics.density da densidad lógica para propósitos de escala

ver aquí: http://developer.android.com/reference/ androide / util / DisplayMetrics.html

a continuación, sólo hacer algo como

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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top