2

我正在使用FrameLayout其中进行搜索TextboxButton并且ListView将在下一行显示TextBox

我的布局是这样的

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

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scaleType="fitXY"
    android:src="@drawable/pattern1" />

<LinearLayout
    android:id="@+id/LinearLayout02"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_gravity="top" >

    <Button
        android:id="@+id/btnadd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:onClick="addCustomers"
        android:text="Add"
        android:textColor="#000000" >
    </Button>

    <EditText
        android:id="@+id/edtSearch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:ems="10"
        android:hint="Search"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginTop="60dp"
    android:gravity="bottom" 
    android:orientation="vertical">

    <ListView
        android:id="@+id/list_customers"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom|center_horizontal" >

    </ListView>

</LinearLayout>

</FrameLayout>

我正在使用它TextView来显示列表中的项目ListView

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/txtsimple_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:gravity="center_vertical"    
android:textSize="20sp"
android:textStyle="bold" />

我已经为 , 提供了margin top属性ListView,但即使它在ButtonEditText控件上重叠。

我正在使用FrameLayout但没有用。请给我任何帮助!任何帮助表示赞赏!

4

5 回答 5

4

您应该LinearLayout用作父级,只需设置android:orientation="vertical".

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitXY"
        android:src="@drawable/pattern1" />
    <LinearLayout
        android:id="@+id/LinearLayout02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="top" >
        ...

    </LinearLayout>
    <ListView
    android:id="@+id/list_customers"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="bottom|center_horizontal" >
    ...
    </ListView>

</LinearLayout>
于 2013-06-27T06:59:30.827 回答
3

FrameLayout没有“放置规则”,因此所有内容都相互堆叠。

相反,使用 a LinearLayoutwithandroid:orientation="vertical"
或使用 aRelativeLayout并向子元素添加定位值,例如android:layout_below

于 2013-06-27T07:01:47.730 回答
1

FrameLayout 的使用很少,因为它们用于显示单个视图或相互重叠的视图。

所以你应该使用RelativeLayout。

于 2013-06-27T07:05:24.530 回答
1

FrameLayout 不是最佳选择。您可以使用其他布局,例如 GridLayout、RelativeLayout 或 ListView。

于 2013-09-20T16:29:35.740 回答
1

+1 Neoh 并删除 imageview,而不是将图像作为背景图像属性放在父视图中

android:background="@drawable/pattern1"
于 2013-06-27T07:03:59.213 回答