你好。我有一个包含LinearLayout和FrameLayout另一个的标记LinearLayout:
LinearLayout
| ....
| FrameLayout
| | ...
| | LinearLayout
| | | Button
我在按钮上挂了一个监听器,我启动它 - 按钮没有响应按下。删除了他们的按钮LinearLayout- 一切正常:
LinearLayout
| ....
| FrameLayout
| | Button
| | LinearLayout
| | |
标记本身:
<?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">
<include android:id="@+id/toolbar"
layout="@layout/toolbar" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:orientation="horizontal">
<EditText
android:id="@+id/etNewChat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/button_new_chat_background"
android:ems="10"
android:inputType="phone"
android:textSize="18sp"
android:visibility="gone" />
<Button
android:id="@+id/btNewChat"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:layout_marginEnd="20dp"
android:layout_weight="1"
android:background="@drawable/button_new_chat_background"
android:gravity="center"
android:text="+"
android:textColor="@android:color/white"
android:textSize="24sp" />
</LinearLayout>
<ListView
android:id="@+id/contactsList"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
需要做什么才能在里面按下按钮LinearLayout?
中的元素在
FrameLayoutxml中按顺序显示。也就是说,您ListView的按钮与按钮重叠。要使按钮位于列表顶部,ListView还要LinearLayout交换位置。有关于udacity的免费课程,它只是特别讲述了不同的布局、微妙之处和可能性。即使知道很多,滚动浏览也很有用。
我建议尝试而不是
FrameLayout使用RelativeLayout,因为在你的情况下,显然,列表适合按钮,因此按钮重叠