我有这个布局XML,我希望第二行中的ImageView可以拉伸以适应行视图,如果可能的话,第一行中的textview卡在屏幕的左边,我需要它在中心。 ImageView正在填充从相机拍摄的图像,任何帮助表示赞赏。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
>
<TableLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="1"
android:stretchColumns="*" >
<TableRow android:id="@+id/tableRow1" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center"
android:text="Set Your Personal Information Here"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</TableRow>
<TableRow android:id="@+id/tableRow2" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</TableRow>
<TableRow android:id="@+id/tableRow3" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<QuickContactBadge
android:id="@+id/quickContactBadge1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gender"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Credits"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</LinearLayout>
</TableRow>
</TableLayout>
答案 0 :(得分:13)
正如@Brosa在评论中所说,使用android:scaleType="fitXY"
属性。
通过你找到了你的解决方案,我正在写这个答案,写下关于android:scaleType
的不同选项的简短描述以供将来帮助。
此attreibute有几种选择。他们是
以下是来自doc
的小描述 <强> 1。基质强>
绘图时使用图像矩阵缩放。
<强> 2。 fitXY 强>
独立地在X和Y中缩放图像,以便src完全匹配dst。这可能会改变src的宽高比。
第3。 fitStart 强>
通过计算将保持原始src宽高比的比例来缩放图像,但也将确保src完全适合dst。至少一个轴(X或Y)将完全适合。 START将结果与dst的左边和上边缘对齐。
<强> 4。 fitCenter 强>
通过计算将保持原始src宽高比的比例来缩放图像,但也将确保src完全适合dst。至少一个轴(X或Y)将完全适合。结果集中在dst内。
<强> 5。 fitEnd 强>
通过计算将保持原始src宽高比的比例来缩放图像,但也将确保src完全适合dst。至少一个轴(X或Y)将完全适合。 END将结果与dst的右边和底边对齐。
<强> 6。中心
将图像置于视图中心,但不执行缩放。
<强> 7。 centerCrop 强>
均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或大于视图的相应尺寸(减去填充)。
<强> 8。 centerInside 强>
均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或小于视图的相应尺寸(减去填充)。