在较小的屏幕上显示所有表格行

时间:2014-02-08 14:11:58

标签: android layout view

我在5英寸智能手机上开发了我的应用程序,现在我遇到了较小屏幕的问题。我在我的HTC野火上测试了它,在那里,最后两行没有显示。整个事情是一个有6行4列的表,每个字段都是一个按钮。 所有按钮必须在一个屏幕上(不可滚动),并且按钮在所有屏幕上应该看起来足够大。

我使用dp开发了所有东西,甚至因此我不知道为什么我现在遇到这个问题。 这是我的xml:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg"
    tools:context=".MainActivity">


    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="22dp" >

        <Button
        android:id="@+id/button1"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="@drawable/willi"
        />

    <Button
        android:id="@+id/button2"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="70dp"


        android:background="@drawable/willi"
         />


    <Button
        android:id="@+id/button3"
            android:layout_width="40dp"
        android:layout_height="40dp"
    android:layout_marginLeft="140dp"
        android:background="@drawable/willi"
/>


    <Button
        android:id="@+id/button4"
             android:layout_width="40dp"
        android:layout_height="40dp"
    android:layout_marginLeft="210dp"

        android:background="@drawable/willi"
         />


    </TableRow>


    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="22dp"
        android:layout_marginTop="90dp">



         <Button
        android:id="@+id/button5"
            android:layout_width="40dp"
        android:layout_height="40dp"

        android:background="@drawable/willi"
        />

    <Button
        android:id="@+id/button6"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"
   />

    <Button
        android:id="@+id/button7"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"
         />

    <Button
        android:id="@+id/button8"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="210dp"
        android:background="@drawable/willi"
         />

        </TableRow>
       <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="22dp"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button9"
            android:layout_width="40dp"
        android:layout_height="40dp"

        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button10"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button11"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button12"
        android:layout_marginLeft="210dp"
            android:layout_width="40dp"
        android:layout_height="40dp"

        android:background="@drawable/willi" />

    </TableRow>



              <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="22dp"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button13"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button14"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button15"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button16"
        android:layout_marginLeft="210dp"
            android:layout_width="40dp"
        android:layout_height="40dp"

        android:background="@drawable/willi" />

    </TableRow>

      <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="50dp"
        android:layout_height="22dp"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button17"
            android:layout_width="40dp"
        android:layout_height="40dp"

        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button18"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button19"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button20"
        android:layout_marginLeft="210dp"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="@drawable/willi" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow6"
        android:layout_width="wrap_content"
        android:layout_height="22dp"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button21"
            android:layout_width="40dp"
        android:layout_height="40dp"

        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button22"
                 android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button23"
            android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button24"
        android:layout_marginLeft="210dp"
            android:layout_width="40dp"
        android:layout_height="40dp"

        android:background="@drawable/willi" />

    <TextView
        android:id="@+id/tvPunktewaehrend"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textStyle="bold"
        android:layout_gravity="center_horizontal"
        android:textColor="@color/white"
        android:textSize="20sp"
        android:text=" " />


    </TableRow>

    </TableLayout>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您定位多种屏幕尺寸,则无法使用固定宽度。您需要使用TableLayout的列扩展功能动态调整TableRow中每个视图的列宽。