按百分比划分屏幕

时间:2013-11-17 09:31:03

标签: android android-layout

我正在尝试在3个视图垂直布局时创建相对布局。第一个视图是文本,应该占用屏幕的10%。第二个视图是图像,应该占据屏幕的50%。第3个视图是文本,应该占用剩余的40%。

我这样做的方法是手动调整图像的尺寸,并通过观察估计它接近我想要的尺寸。我相信这不是正确的方法。那我该怎么办呢?基本上我怎样才能明智地划分屏幕百分比,我可以用相对布局

来做

谢谢

2 个答案:

答案 0 :(得分:9)

您应该将LinearLayoutandroid: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)

您可以使用LinearLayoutandroid: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>