3

我有这个布局 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>

4

1 回答 1

13

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

尽管您已经找到了解决方案,但我写这个答案是为了写一个关于不同选项的简短描述,android:scaleType以供将来帮助。

这个属性有几个选项。他们是

  1. 矩阵
  2. 适合XY
  3. 适合开始
  4. 健身中心
  5. 适合结束
  6. 中央
  7. 中心作物
  8. 中心内

这是文档中的一些小描述

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 统一
缩放图像(保持图像的纵横比),使图像的两个尺寸(宽度和高度)都等于或小于视图的相应尺寸(减去填充)。

于 2013-04-20T03:44:17.837 回答