Android layout_weight无效

时间:2017-06-13 03:51:26

标签: android

我试图设置android:layout_weight="1",但它没有做任何事情。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:background="#fbd0d5"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.example.raza.helloworld.MainActivity"
    tools:showIn="@layout/activity_main"
    android:weightSum="1">


    <TextView

        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Minnions"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />

    <TextView

        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Happy"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />

    <TextView

        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Birthday"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />
</LinearLayout>

此代码有什么问题?

6 个答案:

答案 0 :(得分:0)

在父线性布局

中将权重更改为3
obj.wait()

答案 1 :(得分:0)

只需删除weigtsumshowIn

即可
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:background="#fbd0d5"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">


    <TextView

        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Minnions"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />

    <TextView

        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Happy"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />

    <TextView

        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Birthday"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />
</LinearLayout>

答案 2 :(得分:0)

从根布局中删除android:weightSum =“1”

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:background="#fbd0d5"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    >


    <TextView

        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Minnions"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />

    <TextView

        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Happy"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />

    <TextView

        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#fef65b"
        android:text="Birthday"
        android:textColor="#f44242"
        android:textSize="60sp"
        android:textStyle="bold" />
</LinearLayout>

答案 3 :(得分:0)

您需要将LinearLayout的权重值更改为等于3.

android:weightSum="3"

This other thread提供了有关重量总和的更多细节,但其要点是:

子元素layout_weight应该等于父元素weight_sum

答案 4 :(得分:0)

您的所有观看次数都相同重量!因此,他们的高度都不会改变。将weightSum等于其子项的权重之和,并为子视图设置不同的权重。它会改变。

喜欢这个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fbd0d5"
android:orientation="vertical"
android:weightSum="10"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="4"
    android:background="#fef65b"
    android:text="Minnions"
    android:textColor="#f44242"
    android:textSize="60sp"
    android:textStyle="bold" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="3"
    android:background="#fef65b"
    android:text="Happy"
    android:textColor="#f44242"
    android:textSize="60sp"
    android:textStyle="bold" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="3"
    android:background="#fef65b"
    android:text="Birthday"
    android:textColor="#f44242"
    android:textSize="60sp"
    android:textStyle="bold" />
</LinearLayout>

答案 5 :(得分:0)

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


<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="10dp"
    android:layout_weight="1"
    android:background="#fef65b"
    android:gravity="center"
    android:text="Hai"
    android:textColor="#f44242"
    android:textSize="60sp"
    android:textStyle="bold" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="10dp"
    android:layout_weight="1"
    android:background="#fef65b"
    android:gravity="center"
    android:text="Hello"
    android:textColor="#f44242"
    android:textSize="60sp"
    android:textStyle="bold" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="10dp"
    android:layout_weight="1"
    android:background="#fef65b"
    android:gravity="center"
    android:text="How r u"
    android:textColor="#f44242"
    android:textSize="60sp"
    android:textStyle="bold" />
</LinearLayout>