图像视图以拉伸适合的表行宽

kab*_*178 3 android android-layout

我有这个布局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>
Run Code Online (Sandbox Code Playgroud)

sti*_*ike 13

正如@Brosa在评论中所说,使用android:scaleType="fitXY"属性.

通过你已找到你的解决方案,我正在写这个答案,写一个关于android:scaleType未来帮助的不同选项的简短描述.

这个attreibute有几种选择.他们是

  1. 矩阵
  2. fitXY
  3. fitStart
  4. fitCenter
  5. fitEnd
  6. 中央
  7. centerCrop
  8. centerInside

以下是来自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. center
将图像置于视图中心,但不执行缩放.

7. centerCrop
均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或大于视图的相应尺寸(减去填充).

8. centerInside
均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或小于视图的相应尺寸(减去填充).