我的应用中有一个具有“单活动多片段”架构的应用。问题是,有一个带有正常工具栏的列表片段,用户可以从此处单击并转到“详细信息”屏幕。现在在“详细信息”屏幕中,我希望“活动”变为具有CoordinatorLayout和“折叠工具栏”的全屏状态,其中“状态栏”区域覆盖在布局中为透明。并且当用户返回到列表屏幕时。该活动应禁用全屏,并再次获得StatusBar颜色。
这里的问题是我使用以下代码将活动设置为全屏显示:
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
当用户返回时,我通过以下代码禁用全屏显示:
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE
禁用全屏显示后,在上一个片段中,我的界面边界被剪掉了。
谢谢。
答案 0 :(得分:0)
在您的DetailsActivity中尝试此操作-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// remove title
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
答案 1 :(得分:0)
我建议使用
android:theme="@style/AppTheme.NoActionBar"
为了您的活动。
并在自定义工具栏上的XML activity
中构建
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_top"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="@color/action_bar_bkgnd"
app:theme="@style/ToolBarTheme" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Toolbar Title"
android:layout_gravity="center"
android:id="@+id/toolbar_title" />
</android.support.v7.widget.Toolbar>
以及您的活动课程
Toolbar toolbarTop = (Toolbar) findViewById(R.id.toolbar_top);
TextView mTitle = (TextView) toolbarTop.findViewById(R.id.toolbar_title);
现在,对于您的fragments
,您要做的就是显示或隐藏此toolbar
,具体取决于您想使用的fragment
还是其他toolbar
,并且您可以使用OnResume
和OnPause
的片段来做到这一点。