我有这样的容器构建:
RelativeLayout container
--LinearLayout
--TextView
--LinearLayout
--Button
--Button
我正在尝试添加片段" ListFragment"进入显示两个LinearLayouts的容器:
ListFragment listfragment = new ListFragment();
getFragmentManager().beginTransaction().replace(R.id.contianer,listfragment).commit();
问题是:它没有。它仅显示在第二个LinearLayout上方,并且第一个LinearLayout仍然可见于片段之上。
以下是xmls:
Container xml:
<RelativeLayout
android:id="@+id/contianer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_alignParentEnd="true"
android:layout_below="@+id/container">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:layout_marginLeft="0dp"
android:id="@+id/linearLayout"
android:layout_alignParentBottom="true"
android:paddingTop="30dp">
<Button
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button"
android:textSize="30dp" />
<Button
android:id="@+id/nextButton"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_weight="0.5"
android:text="Button"
android:textSize="30dp"
android:background="#009688"
android:textColor="#ffffff" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:elevation="4dp"
android:id="@+id/vanisherView"
android:layout_centerHorizontal="true"
android:layout_margin="20dp">
<TextView
android:id="@+id/erklareung"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:background="@android:color/white"
android:padding="40dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="35dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" />
</LinearLayout>
</RelativeLayout>
容器包装在另一个布局中,但我认为,这并不重要。
这是片段xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:id ="@+id/viewer_layout">
<com.woxthebox.draglistview.DragListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drag_list_view"
android:layout_width="match_parent"
android:background="@android:color/black"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_height="match_parent"/>
</RelativeLayout>
我画了片段黑色,看它在哪里显示,哪里没有
感谢您的回答和欢呼
答案 0 :(得分:3)
请勿尝试将(defmacro build
[sym init-val bindings expr]
`(loop [result# ~init-val, s# (seq (for ~bindings (fn [~sym] ~expr)))]
(if s#
(recur ((first s#) result#) (next s#))
result#))
;; or `(reduce #(%2 %1) ~init-val (for ~bindings (fn [~sym] ~expr)))
添加到已包含其他视图的容器视图中。
相反,请在Fragment
放置FrameLayout
,然后将Fragment
添加到其中,而不是父容器。
您可以在Fragment
上设置所需的属性,以确保它位于您FrameLayout
的所需位置。
示例:强>
RelativeLayout
答案 1 :(得分:0)
您可以将布局包装到FrameLayout
FrameLayout
--RelativeLayout //layout with your views
--FrameLayout //container for your fragment