我在桌面布局中拍照时遇到了一些麻烦...实际上,每个我都有2列,当我把照片放在桌子的单元格中时,它完全被拉伸和不成比例...我找不到如何让它保持原状在单元格中,让其余的空间充满白色背景...... XML就是这样:
<TableLayout android:layout_width="fill_parent" android:stretchColumns="*"
android:layout_marginLeft="3dip" android:layout_marginRight="10dip"
android:layout_height="wrap_content">
<TableRow android:layout_marginBottom="10dip">
<TextView android:id="@+id/tv01" android:text="text1"
android:textSize="14sp" android:layout_margin="1dip"
android:layout_height="wrap_content" android:textColor="@color/bleuLink"
android:layout_width="wrap_content" android:layout_weight="1"
android:background="@color/background"></TextView>
<Button android:id="@+id/add" android:background="@drawable/addressbook"
android:layout_height="wrap_content" android:layout_width="wrap_content"></Button>
<Button android:id="@+id/call" android:background="@drawable/greenphone"
android:layout_height="wrap_content" android:layout_width="wrap_content"></Button>
答案 0 :(得分:1)
由于这行代码,您的图片正在拉伸。
<TableLayout android:layout_width="fill_parent" android:stretchColumns="*" />
因为您告诉您的表填充其父级,然后将可伸缩列设置为all,所以您的布局会强制其子级填充所需的空间。删除可伸展列属性或将其设置为要扩展的列的逗号描述的索引列表。
<TableLayout android:layout_width="fill_parent"
android:stretchColumns="0, 2" android:layout_marginLeft="3dip"
android:layout_marginRight="10dip" android:layout_height="wrap_content">
<TableRow android:layout_marginBottom="10dip">
<TextView android:id="@+id/tv01" android:text="text1"
android:textSize="14sp" android:layout_margin="1dip"
android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_weight="1"></TextView>
<Button android:id="@+id/add" android:background="@drawable/icon"
android:layout_height="wrap_content" android:layout_width="wrap_content"></Button>
<Button android:id="@+id/call" android:background="@drawable/icon"
android:layout_height="wrap_content" android:layout_width="wrap_content"></Button>
</TableRow>
</TableLayout>
以上面的代码为例。
答案 1 :(得分:0)
另一种解决方案是将Button添加到布局中并设置布局属性android:layout_height =“wrap_content”。
<TableLayout android:layout_width="fill_parent"
android:stretchColumns="*" android:layout_height="wrap_content">
<TableRow>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center">
<TextView android:id="@+id/tv01" android:text="text1"
android:textSize="14sp" android:layout_margin="1dip"
android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_weight="1">
</TextView>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center">
<Button android:id="@+id/add" android:background="@drawable/icon"
android:layout_height="wrap_content" android:layout_width="wrap_content">
</Button>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center">
<Button android:id="@+id/call" android:background="@drawable/icon"
android:layout_height="wrap_content" android:layout_width="wrap_content">
</Button>
</LinearLayout>
</TableRow>
</TableLayout>