Nos*_*lvi 5 android bottom-sheet
是否可以在模态底部工作表对话框中找到的持久底部工作表上添加叠加层?我实现了一个底部表,其中有一个框架布局并执行一些片段事务。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="2sp"
android:layout_marginRight="2sp"
android:layout_marginTop="?attr/actionBarSize"
android:clickable="true"
android:orientation="vertical"
app:elevation="4sp"
app:layout_behavior="@string/bottom_sheet_behavior">
<FrameLayout
android:id="@+id/function_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="2sp"
android:layout_marginRight="2sp"
android:layout_marginTop="?attr/actionBarSize"
android:background="#fafafa"
android:elevation="4sp">
</FrameLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
当它展开并按下后退按钮时,片段将从堆栈中删除。但是当我使用模态对话框时,对话框被关闭。
@Override
public void onBackPressed() {
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.function_frame);
if (fragment.getFragmentManager().getBackStackEntryCount() == 0) {
if (mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
return;
}
}
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
所以,我发现使用持久对话框可以更好地完成工作,但我希望屏幕区域上的模式覆盖未被工作表覆盖。
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |