如何在LinearLayout中添加FrameLayout

时间:2016-03-15 14:46:20

标签: android android-layout

嗨我是我的应用程序中的新手Android我在LinearLayout中添加了Frame-layout但是Frame-Layout并且它们在字段内部没有添加

我的代码如下,请帮我一些

main.xml中: -

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

<FrameLayout
        android:id="@+id/frame"
        android:layout_width="match_parent'"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="0dp"
            android:layout_weight ="1"
            android:layout_height="wrap_content"
            android:background="@android:color/holo_red_dark"
            android:text="something" />

        <Button
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:background="@android:color/holo_red_light"/>

    </FrameLayout>

    <ListView
        android:id="@+id/listview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/frame" />

</LinearLayout>

1 个答案:

答案 0 :(得分:2)

我认为你误解了FrameLayout的目的。 http://developer.android.com/reference/android/widget/FrameLayout.html

  

FrameLayout旨在阻挡屏幕上要显示的区域   单个项目。通常,FrameLayout应该用于保存单个   子视图,因为它可能很难组织子视图   在没有孩子的情况下可以扩展到不同屏幕尺寸的方式   相互重叠。

您正在尝试将两个项目放入其中。我建议删除FrameLayout。你不需要它。

<?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">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button" />

    </FrameLayout>
</LinearLayout>

这适用于显示单个按钮,但没有必要将它放在那里。