1

我设计了以下布局。在除 wxga 屏幕之外的所有大小的模拟器上都可以正常工作。我也在我的 tegra 2 驱动的 Toshiba AC100 上尝试过,但按钮没有与屏幕右侧对齐,而是缩小并在 textview 右侧可见。在我兄弟的 HVGA xperia mini ST15i 上看起来不错。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content">
    <TableRow android:id="@+id/tableRow">
    <ImageView android:id="@+id/image"
               android:layout_width="32dp"
               android:layout_gravity="center_vertical"
               android:layout_marginRight="5dp"
               android:layout_height="32dp"
               android:focusable="false"
               android:focusableInTouchMode="false" />
    <TextView android:id="@+id/text"
              android:layout_width="220dp"
              android:layout_height="wrap_content"
              android:padding="10dp"
              android:focusable="false"
              android:focusableInTouchMode="false" />
    <Button android:id="@+id/button"
            android:layout_width="60dp"
            android:layout_alignParentRight="true"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="@string/button"
            android:focusable="false"
            android:focusableInTouchMode="false" />
    </TableRow>
</TableLayout>
4

2 回答 2

1

我用 imageview、textview 和按钮找出 listview 的布局。它在不同的屏幕方向和尺寸下都能很好地工作。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:id="@+id/relativeLayout"
                android:layout_height="wrap_content">
    <ImageView android:id="@+id/drawable_icon"
               android:layout_width="36dp"
               android:layout_centerVertical="true"
               android:layout_marginRight="5dp"
               android:layout_alignParentLeft="true"
               android:layout_height="36dp"
               android:focusable="false"
               android:focusableInTouchMode="false" />
    <TextView android:id="@+id/text"
              android:layout_toRightOf="@id/drawable_icon"
              android:layout_width="wrap_content"
              android:layout_centerVertical="true"
              android:layout_height="wrap_content"
              android:padding="10dp"
              android:layout_marginRight="65dp"
              android:focusable="false"
              android:focusableInTouchMode="false" />
    <Button android:id="@+id/button"
            android:layout_width="60dp"
            android:layout_alignParentRight="true"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginRight="5dp"
            android:text="@string/buttonText"
            android:focusable="false"
            android:focusableInTouchMode="false" />
</RelativeLayout>
于 2012-04-14T09:03:51.477 回答
0

也许您可以将 LinearLayout 用于 ImageView、TextView 和 Button 的父级。在 LinearLayout 中使用水平方向。如果您希望孩子在所有情况下都可见,您可以在 ImageView、TextView 和 Button 中添加 android:layout_weight="1" 属性。

于 2012-04-11T04:58:36.230 回答