我有一个问题,因为我不知道如何让片段B的透明背景将触摸事件传递给片段A:
片段C片段B位于片段A的顶部:片段C XML:
...
<FrameLayout
android:id="@+id/fragment_A_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<FrameLayout
android:id="@+id/fragment_B_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
...
这里是片段C将片段附加到FrameLayouts的地方:片段C类:
...
fragmentTransaction.add(R.id.fragment_A_container, FragmentA, TAG_FRAGMENT_A);
fragmentTransaction.add(R.id.fragment_B_container, FragmentB, TAG_FRAGMENT_B);
...
但是现在,我不知道如何只让工具栏和浮动操作按钮被点击,但是其他背景会将点击事件传递给Fragment A?以下是Fragment B布局的基本概念: FragmentB XML:
<LinearLayout
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.FloatingActionButton/>
<android.support.v7.widget.Toolbar
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
谢谢!
答案 0 :(得分:0)
它实际上确实有效,但我注意到在我的代码中,它确实是这样做的(FragmentD
是一个不透明的背景,意味着在FragmentA
和FragmentB
下面:
fragmentTransaction.add(R.id.fragment_A_container, FragmentD, TAG_FRAGMENT_D);
fragmentTransaction.add(R.id.fragment_A_container, FragmentA, TAG_FRAGMENT_A);
fragmentTransaction.add(R.id.fragment_B_container, FragmentB, TAG_FRAGMENT_B);
我认为通过添加FragmentD
和然后将FragmentA
添加到fragment_A_container
,FragmentA
应该位于FragmentD
之上},但我想情况并非如此。所以我保证通过将它们分成他们自己的FrameLayouts来使订单正确,并且它工作正常:
更新了XML:
...
<FrameLayout
android:id="@+id/fragment_D_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<FrameLayout
android:id="@+id/fragment_A_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<FrameLayout
android:id="@+id/fragment_B_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
...