Android布局;图像占据整个屏幕

时间:2016-02-07 23:20:25

标签: android android-layout android-layout-weight

我正在尝试使用两个视图填充活动,左侧为ImageView,右侧为TextView。应调整图像大小以填充整个垂直空间。文本应该占用剩余的空间。看了几个教程之后,看起来我需要的是LinearLayout水平方向,TextView的{​​{1}}属性是一个正整数。

这是我到目前为止所做的:

layout_weight
然而,问题是图像会在左右两侧产生填充整个屏幕的空白区域。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="match_parent" android:src="@drawable/charsheet" /> <TextView android:id="@+id/ipsum" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:text="@string/ipsum" /> </LinearLayout> 没有剩余空间了。

enter image description here

我还尝试使用TextViewRelativeLayout的{​​{1}}属性设置为ImageView的ID,但随后文本填满整个屏幕而不是。

当我开始做这项活动时,我不会想到这将是一件如此复杂的事情,但我们现在就是这样。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

我认为您缺少的是ImageView上的adjustViewBounds。试试这样:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:scaleType="fitStart"
        android:adjustViewBounds="true"
        android:src="@drawable/doug"
        />

    <TextView
        android:id="@+id/ipsum"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="ipsum"
        />

</LinearLayout>

如果没有adjustImageBounds,ImageView会占用比显示图像所需的更多空间。

以上布局在Android Studio中创建了一个类似于我的预览:

enter image description here

答案 1 :(得分:0)

android:layout_weight="1"移动到ImageView,然后在TextView中将权重设为0.注意:您需要将ImageView的layout_width设置为0px。

<ImageView
    android:id="@+id/imageView"
    android:layout_weight="1"
    android:layout_width="0px"
    android:layout_height="match_parent"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/ipsum"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:text="ipsum" />

答案 2 :(得分:0)

您可以使用ImageView scaleType,例如:

mysqld