【问题标题】:Wrong placement of button inside linear layout线性布局内的按钮位置错误
【发布时间】:2020-05-17 17:35:23
【问题描述】:

我在线性布局的水平方向上有三个带有 drawableleft 的 textview,并尝试先显示 @+id/tv_video_call 视图,然后显示 tv_language,并在 android studio 预览中正确显示,并且不会更改其在类中的位置。

<LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:orientation="horizontal">


                <TextView
                    android:id="@+id/tv_video_call"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:layout_marginEnd="7dp"
                    android:drawableLeft="@drawable/ic_video"
                    android:drawablePadding="10dp"
                    android:gravity="center"
                    android:text="Video Call"
                    android:textColor="@color/white"
                    android:textScaleX="1.2"
                    android:textSize="16sp"
                    android:textStyle="bold" />

                <View
                    android:id="@+id/vertical_line"
                    android:layout_width="2dp"
                    android:layout_height="22dp"
                    android:layout_marginStart="5dp"
                    android:layout_marginTop="5dp"
                    android:layout_marginEnd="3dp"
                    android:layout_marginBottom="5dp"
                    android:layout_toStartOf="@id/tv_language"
                    android:background="@color/white"
                    android:paddingTop="2dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/tv_language"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="7dp"
                    android:layout_marginTop="4dp"
                    android:layout_marginEnd="7dp"
                    android:layout_marginRight="15dp"
                    android:layout_toLeftOf="@id/tv_logout"
                    android:drawableLeft="@drawable/ic_language"
                    android:drawablePadding="10dp"
                    android:gravity="center"
                    android:text="@string/logout"
                    android:textColor="@color/white"
                    android:textScaleX="1.2"
                    android:textSize="16sp"
                    android:textStyle="bold" />


                <View
                    android:id="@+id/logoutline"
                    android:layout_width="2dp"
                    android:layout_height="22dp"
                    android:layout_marginStart="5dp"
                    android:layout_marginTop="5dp"
                    android:layout_marginEnd="3dp"
                    android:layout_marginBottom="5dp"
                    android:layout_toStartOf="@id/tv_language"
                    android:background="@color/white"
                    android:paddingTop="2dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/tv_logout"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_marginStart="7dp"
                    android:layout_marginTop="4dp"
                    android:layout_marginEnd="8dp"
                    android:layout_marginRight="6dp"
                    android:drawableLeft="@drawable/logouticon"
                    android:gravity="center"
                    android:text="@string/logout"
                    android:textColor="@color/white"
                    android:textScaleX="1.2"
                    android:textSize="16sp"
                    android:textStyle="bold"
                    android:visibility="visible" />
            </LinearLayout>

但是模拟器在第二个文本视图之后显示第一个文本视图,不知道是什么导致它转移到那个地方。

【问题讨论】:

    标签: android android-layout android-linearlayout orientation


    【解决方案1】:

    尝试将按钮宽度设置为 0dp,并将 weight 设置为 1,以便它们在布局中平均分配。

    现在您已经设置了宽度来包裹内容,这意味着如果这两个按钮不能同时容纳,其中一个将被移出。

    【讨论】:

    • 它不起作用。即使在应用权重后它也会显示相同的行为。
    • 那么你的问题肯定出在布局的其余部分,小心包装内容元素。
    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 2016-09-26
    • 2011-01-31
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    相关资源
    最近更新 更多