Pergunta

Apenas uma pergunta rápida sobre como você iria sobre como implementar esta. Eu quero que haja botões na parte inferior da tela, mas se o tamanho da tela é maior, seria adicionado mais botões.

Por exemplo, em um pequeno tamanho da tela, pode haver 4-5 botões na parte inferior, mas se você executou-lo em um tablet ou algo semelhante, haveria talvez 20 botões.

Todas as sugestões? Ele pode não rolagem tanto, ele só tem que preencher dinamicamente o layout com botões.

Graças.

Foi útil?

Solução

Para colocar botões na parte inferior de um layout, fazer algo assim para o seu 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>

Para alterar o número de botões são apresentados com base no tamanho da tela, você deve implementar layouts diferentes para tamanhos de tela Múltiplas ..

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

Outras dicas

Parece que você deseja criar sua própria classe layout personalizado. Que ou apenas preencher uma LinearLayout (por exemplo) até que você correr para fora do espaço da tela.

Se você sabe o tamanho de seus botões em pixels você poderia usar DisplayMetrics para obter as dimensões da tela, em seguida, calcular quantos botões vai caber no seu espaço alocado.

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

metrics.heightPixels GIVS altura absoluta em pixels metrics.ydpi dá pixels exata físicas por polegada da tela

e metrics.density dá densidade lógico para fins de escala

veja aqui: http://developer.android.com/reference/ android / util / DisplayMetrics.html

seguida, basta fazer 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top