我无法通过代码行显示和删除工具栏。 它可以做到这一点? 如果我在片段中并希望工具栏短,并且在加载后出现。 我尝试了以下方法无济于事。
工具栏
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
if(actionBar != null) {
actionBar.setDisplayShowTitleEnabled(false);
}
main_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/apk/res-auto"
android:id="@+id/DrawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:elevation="7dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar">
</include>
<FrameLayout
android:id="@+id/fragContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="fragContainer" />
</LinearLayout>
<RelativeLayout
android:layout_width="@dimen/drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start">
<android.support.v7.widget.RecyclerView
android:id="@+id/RecyclerView"
android:layout_width="@dimen/drawer_width"
android:layout_height="fill_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
android:background="@color/primary"
android:scrollbars="vertical">
</android.support.v7.widget.RecyclerView>
<LinearLayout
android:id="@+id/footer_menu"
android:layout_width="@dimen/drawer_width"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivFooter"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_gravity="bottom|center"
android:maxWidth="690dp"
android:src="@drawable/rodape_menu"
android:layout_margin="5dp"/>
</LinearLayout>
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:fitsSystemWindows="true"
app:elevation="4dp"
app:theme="@style/CustomActionBar"/>
CustomActionBar.xml
<item name="windowActionBar">false</item>
<!-- Support library compatibility -->
<item name="windowActionBarOverlay">true</item>
尝试代码
getSupportActionBar().hide();
getSupportActionBar().show();
findViewById(R.id.toolbar).setVisibility(View.GONE);
findViewById(R.id.toolbar).setVisibility(View.VISIBLE);
答案 0 :(得分:1)
如果将工具栏设置为操作栏怎么办?
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().hide();
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
然后你可以获取动作栏并将其隐藏或随身携带。
编辑:如果您的布局中没有视图,则无法正常工作:
<LinearLayout
android:id="@+id/container_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
</LinearLayout>
工具栏:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
这个位于RelativeLayout根布局视图的底部。