0

怎么可能把 aButton放在 a 上ListView?喜欢这张图片吗?

我试过了:

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

但是 theButton是不可访问的…… theListView和 the都Button必须是可访问的。

4

6 回答 6

13

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

其次,布局是按照从上到下->从后到前的顺序绘制的。因此,您希望您Button在 XML 文件中的下方。

最后,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>
于 2012-08-08T19:15:54.907 回答
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>
于 2012-08-08T19:16:30.447 回答
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 
于 2012-08-08T19:14:43.120 回答
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" />
于 2012-08-08T19:09:18.000 回答
0

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

于 2012-08-08T19:11:23.463 回答
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>
于 2017-02-18T05:59:48.137 回答