我正在尝试在3个视图垂直布局时创建相对布局。第一个视图是文本,应该占用屏幕的10%。第二个视图是图像,应该占据屏幕的50%。第3个视图是文本,应该占用剩余的40%。
我这样做的方法是手动调整图像的尺寸,并通过观察估计它接近我想要的尺寸。我相信这不是正确的方法。那我该怎么办呢?基本上我怎样才能明智地划分屏幕百分比,我可以用相对布局
来做谢谢
答案 0 :(得分:9)
您应该将LinearLayout
与android:weightSum
一起使用。
在根布局上使用android:weightSum="100"
,并根据您的要求提供android:layout_weight
。每个android:layout_height="0dp"
都View
。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="100" >
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10" />
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="50"
android:contentDescription="@string/image"
android:src="@drawable/ic_launcher" />
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="40" />
</LinearLayout>
希望这会对你有所帮助。
答案 1 :(得分:3)
您可以使用LinearLayout
和android:layout_weight
属性:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<View
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="5" />
<View
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="4" />
</LinearLayout>