Button not displaying in LinearLayout

2019-03-27 10:28发布

I am trying to add a Button in a LinearLayout after a TextView but it is not showing up.

Here is my layout code

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="45dip">

    <TextView android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:paddingLeft="5dip"
        android:paddingRight="5dip"
        android:textStyle="bold"
        android:textSize="17dip"
        android:gravity="center_vertical"
        android:id="@+id/tvChild"
        android:text="Children"
        android:textColor="#ffCCCC22" />

    <Button android:id="@+id/submit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Submit" />
</LinearLayout>

The TextView is displayed correctly with proper text but instead of a Button I am getting a big blank space of three to four lines length.

What am I missing?

2条回答
【Aperson】
2楼-- · 2019-03-27 11:18

The problem was you were setting android:layout_width="fill_parent" for the TextView, so it took full screen width just for displaying the TextView. And it was not able to display the Button.

Here are two options for you :

  1. Adding TextView and Button on a single row.

    Change the layout_width attribute of the TextView to wrap_content.

  2. Adding TextView and Button vertically.

    Change LinearLayout's orientation attribute to vertical.

查看更多
冷血范
3楼-- · 2019-03-27 11:33

Try this.

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:id="@+id/LinearLayout01"
        android:layout_width="fill_parent" android:layout_height="45dip"
        xmlns:android="http://schemas.android.com/apk/res/android">
        <TextView android:layout_width="wrap_content"
            android:layout_height="45dip" android:paddingLeft="5dip"
            android:paddingRight="5dip" android:textStyle="bold" android:textSize="17dip"
            android:gravity="center_vertical" android:id="@+id/tvChild"
            android:text="Children" android:textColor="#ffCCCC22"
            />
            <Button android:id="@+id/submit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:text="Submit" />
    </LinearLayout>

Use android:layout_width="wrap_content" instead of android:layout_width="fill_parent" for TextView and Button

查看更多
登录 后发表回答