如何在LinearLayout中垂直均匀放置内容?

时间:2016-02-27 13:18:08

标签: android xml android-layout

我希望在Android屏幕上的LinearLayout中将内容项垂直均匀放置,但是项目会蜷缩到顶部。怎么解决? 这是我的xml-code屏幕:

<?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"
    android:weightSum="1">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:weightSum="1"
        android:layout_gravity="center"
        android:orientation="vertical">

        <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:src="@drawable/olumn128"
        android:layout_gravity="center" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Login"
            android:id="@+id/textView2"
            android:layout_gravity="center" />    
    </LinearLayout>

</LinearLayout>

1 个答案:

答案 0 :(得分:3)

首先,您不需要嵌套LinearLayout来实现您想要的效果。因此,您可以删除第二个LinearLayout

要使观看次数均匀占据屏幕高度,您可以使用android:layout_weight="1"然后设置android:layout_height="0dp"。将这些属性设置为您希望具有相同高度的视图。

另外,请移除weightSum中的LinearLayout,因为通过将您的观看次数layout_weight设置为1,您隐含地告诉weightSum是2并且你的观点是平等分享的。