按下ListView

时间:2012-08-08 19:01:22

标签: android listview button

如何在Button上放置ListView?像这样image

我试过了:

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:text="Button" />

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <ListView 
        android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

    </ListView>
    </LinearLayout>


</FrameLayout>

Button无法访问...... <{1}}和ListView都必须可以访问。

6 个答案:

答案 0 :(得分:13)

首先,您应该使用RelativeLayout; FrameLayout用于最佳地保存单个子元素。

其次,布局按从上到下的顺序绘制 - &gt;回到前面。因此,您希望XML文件中的Button位于其下方。

最后,您应该使用gravity而不是align

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

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

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
        <ListView 
            android:id="@+id/listView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">

        </ListView>
    </LinearLayout>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:text="Button" />

</RelativeLayout>

答案 1 :(得分:0)

android:focusable="false"添加到您的按钮属性,看看是否有帮助。

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|right"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:text="Button" />

答案 2 :(得分:0)

使用RelativeLayout并使用android:layout_below =“@ + id / yourIdHere”或android:layout_above =“@ + id / yourIdHere”

答案 3 :(得分:0)

使用相对布局,然后您可以按gravity设置按钮位置。使用此示例添加layout_align具有不同的值,将为您完成。     .....

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|right"
    android:text="Button" />

<ListView 
    android:id="@+id/listView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
</RelativeLayout>
......

以下是您可以在按钮代码中使用的保证金属性。

layout_alignParentBottom
layout_alignParentLeft 
layout_alignParentRight
layout_alignParentTop
layout_alignRight 
android:layout_alignTop 

答案 4 :(得分:0)

这里有一些示例代码,用于说明如何使用listview的相对布局,它就像你的图像一样显示。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1" >
    </ListView>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/listView1"
        android:layout_alignParentRight="true"
        android:text="Button" />

</RelativeLayout>

答案 5 :(得分:0)

只需复制粘贴即可。经过测试的解决方案。

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_weight="3">

<LinearLayout
    android:id="@+id/linearLayout"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
 >

    <Button
        android:text="Status"
        android:textSize="20sp"
        android:textStyle="bold"
        style="?android:attr/buttonBarButtonStyle"
        android:gravity="center"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:textColor="@color/black"
        android:layout_height="wrap_content"
        android:id="@+id/textView10" />

    <Button
        android:text="Date"
        android:textSize="20sp"
        android:textStyle="bold"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:textColor="@color/black"
        android:layout_height="wrap_content"
        android:id="@+id/textView6"
        />

    <Button
        android:text="Subject"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        style="?android:attr/buttonBarButtonStyle"
        android:textColor="@color/black"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:id="@+id/textView9"

        />

</LinearLayout>

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/linearLayout"
/>

  </RelativeLayout>