我正在尝试使用两个视图填充活动,左侧为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>
没有剩余空间了。
我还尝试使用TextView
将RelativeLayout
的{{1}}属性设置为ImageView
的ID,但随后文本填满整个屏幕而不是。
当我开始做这项活动时,我不会想到这将是一件如此复杂的事情,但我们现在就是这样。任何帮助将不胜感激。
答案 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中创建了一个类似于我的预览:
答案 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