我通过 TableLayout 选择了 DialogFragment。在 Android 2.3.3 中,它按我的意愿显示 - width=wrap 内容(但没有显示除法)。
但是当我测试它时,我的布局的 Android 4 宽度拉伸到屏幕宽度。 http://prntscr.com/296y99
如何使对话框片段的宽度与 android 2.3.3 中显示的宽度相同?
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="200dp"
android:layout_height="wrap_content" android:baselineAligned="false"
android:measureWithLargestChild="false" android:showDividers="middle" android:clickable="true"
android:divider="@drawable/line">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="center_vertical|left"
android:clickable="true" android:onClick="onClick" android:id="@+id/trVolume">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView" android:src="@drawable/volume" android:contentDescription="s"
android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:layout_marginLeft="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" android:text="@string/lblVolume" android:paddingLeft="20dp"
android:layout_marginRight="10dp"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="center_vertical" android:clickable="true"
android:id="@+id/trLength">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView2" android:src="@drawable/length" android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" android:layout_marginLeft="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lblLength"
android:id="@+id/textView2" android:paddingLeft="20dp" android:layout_marginRight="10dp"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="center_vertical|left" android:clickable="true"
android:id="@+id/trWeight">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView3" android:src="@drawable/weight" android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" android:layout_marginLeft="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lblWeight"
android:id="@+id/textView3" android:paddingLeft="20dp" android:layout_marginRight="10dp"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="center_vertical|left" android:clickable="true"
android:id="@+id/trArea">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView4" android:src="@drawable/area" android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" android:layout_marginLeft="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lblArea"
android:id="@+id/textView4" android:paddingLeft="20dp" android:layout_marginRight="10dp"/>
</TableRow>
</TableLayout>
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
getDialog().setTitle(getString(R.string.selectConv));
View v = inflater.inflate(R.layout.unit_conv_select, null);
return v;
}