如何调整LinearLayout中的小部件

时间:2016-12-07 06:15:37

标签: android xml

我有一个布局,我试图在屏幕右侧放置一个按钮,而layout_gravity对我不起作用。

<LinearLayout
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

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

        <TextView
            android:text="PE"
            android:layout_width="wrap_content"
            android:textColor="#F000"
            android:layout_height="90dp"
            android:textSize="20sp"
            android:layout_marginRight="20sp"
            android:layout_marginBottom="24dp"
            android:layout_gravity="start" />

        <TextView
            android:text="PE"
            android:layout_width="wrap_content"
            android:textColor="#F000"
            android:layout_height="90dp"
            android:textSize="20sp"
            android:layout_marginBottom="24dp"
            android:layout_gravity="start" />

        <Button
            android:text="@string/app_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            />
    </LinearLayout>


    <TextView
        android:text="@string/app_name"
        android:layout_width="wrap_content"
        android:textColor="#F000"
        android:layout_height="90dp"
        android:textSize="40sp"
        android:layout_marginBottom="24dp"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

我想在屏幕右侧显示该按钮! enter image description here

3 个答案:

答案 0 :(得分:0)

尝试使用Android android:weightSum=""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">
    <LinearLayout
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        >

        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:layout_height="wrap_content"
            android:weightSum="3"
            >

            <TextView
                android:layout_weight="1"
                android:text="PE"
                android:layout_width="wrap_content"
                android:textColor="#F000"
                android:layout_height="90dp"
                android:textSize="20sp"
                android:layout_marginRight="20sp"
                android:layout_marginBottom="24dp"
                android:layout_gravity="start" />

            <TextView
                android:layout_weight="1"
                android:text="PE"
                android:layout_width="wrap_content"
                android:textColor="#F000"
                android:layout_height="90dp"
                android:textSize="20sp"
                android:layout_marginBottom="24dp"
                android:layout_gravity="start" />

            <Button
                android:layout_weight="1"
                android:text="@string/app_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                />
        </LinearLayout>


        <TextView
            android:text="@string/app_name"
            android:layout_width="wrap_content"
            android:textColor="#F000"
            android:layout_height="90dp"
            android:textSize="40sp"
            android:layout_marginBottom="24dp"
            android:layout_gravity="center_horizontal" />
    </LinearLayout>
</LinearLayout>

答案 1 :(得分:0)

我认为这就是你想要的。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="90dp"
        android:layout_weight="1"
        android:layout_gravity="start"
        android:layout_marginBottom="24dp"
        android:layout_marginRight="20sp"
        android:text="PE"
        android:textColor="#F000"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="90dp"
        android:layout_gravity="start"
        android:layout_weight="1"
        android:layout_marginBottom="24dp"
        android:text="PE"
        android:textColor="#F000"
        android:textSize="20sp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="end"
        android:text="@string/app_name" />
</LinearLayout>


<TextView
    android:layout_width="wrap_content"
    android:layout_height="90dp"
    android:layout_gravity="center_horizontal"
    android:layout_marginBottom="24dp"
    android:text="@string/app_name"
    android:textColor="#F000"
    android:textSize="40sp" />

答案 2 :(得分:0)

您应该使用带有

的framelayout来包装您的按钮
android:layout_width=match parent.