我在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>
我做错了什么?
答案 0 :(得分:1)
如果您定位多种屏幕尺寸,则无法使用固定宽度。您需要使用TableLayout
的列扩展功能动态调整TableRow
中每个视图的列宽。