Android 导航抽屉中出现两个工具栏
Two toolbars showing up in Navigation Drawer in Android
我试图在通过 NavigationDrawer
连接的 Fragment
中显示特定的 ToolBar
。
我有 NavigationDrawer
extends AppCompatActivity
这有一个特定的 ToolBar
正确显示。
现在我想展示另一个工具栏,它有下拉菜单等。当我单击 Fragment
时,这个工具栏也很好,但使用的是旧工具栏。如何隐藏显示旧的 Toolbar
?
查看下面的快照:
像上面一样而不是工具栏标题我想要 Rediff/Dropdown 工具栏出现在那里?
那么如何隐藏旧的 ToolBar
并显示新的呢?
带微调器的工具栏:
<?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/tools"
android:id="@+id/toolbar"
style="@style/ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundcolor"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.v7.widget.Toolbar>
这是我在 Fragment 中的内容:
mToolbar = (Toolbar) rootView.findViewById(R.id.toolbar);
if (hideToolBar)
{
((AppCompatActivity)getActivity()).getSupportActionBar().hide();
}
else
{
((AppCompatActivity)getActivity()).getSupportActionBar().show();
}
if (mToolbar != null)
{
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
}
navSpinner = new ArrayList<SpinnerNavItem>();
navSpinner.add(new SpinnerNavItem(getResources().getString(R.string.all)));
navSpinner.add(new SpinnerNavItem(getResources().getString(R.string.week)));
navSpinner.add(new SpinnerNavItem(getResources().getString(R.string.month)));
adapter = new NavigationAdapter(getActivity(), navSpinner);
mSpinner = (Spinner) rootView.findViewById(R.id.spinner);
mSpinner.setAdapter(adapter);
mSpinner.setOnItemSelectedListener(this);
对Activity
使用相同的ToolBar
<?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/tools"
android:id="@+id/toolbar"
style="@style/ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundcolor"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >
<Spinner
android:id="@+id/spinner"
android:visibility="GONE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.v7.widget.Toolbar>
在你的 Activity
getReference 中 Spinner
启动时 Fragment
make Spinner
VISIBLE/GONE
即
getActivity().spinnerInMainActivity.setVisibility(View.VISIBLE);
我试图在通过 NavigationDrawer
连接的 Fragment
中显示特定的 ToolBar
。
我有 NavigationDrawer
extends AppCompatActivity
这有一个特定的 ToolBar
正确显示。
现在我想展示另一个工具栏,它有下拉菜单等。当我单击 Fragment
时,这个工具栏也很好,但使用的是旧工具栏。如何隐藏显示旧的 Toolbar
?
查看下面的快照:
像上面一样而不是工具栏标题我想要 Rediff/Dropdown 工具栏出现在那里?
那么如何隐藏旧的 ToolBar
并显示新的呢?
带微调器的工具栏:
<?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/tools"
android:id="@+id/toolbar"
style="@style/ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundcolor"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.v7.widget.Toolbar>
这是我在 Fragment 中的内容:
mToolbar = (Toolbar) rootView.findViewById(R.id.toolbar);
if (hideToolBar)
{
((AppCompatActivity)getActivity()).getSupportActionBar().hide();
}
else
{
((AppCompatActivity)getActivity()).getSupportActionBar().show();
}
if (mToolbar != null)
{
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
}
navSpinner = new ArrayList<SpinnerNavItem>();
navSpinner.add(new SpinnerNavItem(getResources().getString(R.string.all)));
navSpinner.add(new SpinnerNavItem(getResources().getString(R.string.week)));
navSpinner.add(new SpinnerNavItem(getResources().getString(R.string.month)));
adapter = new NavigationAdapter(getActivity(), navSpinner);
mSpinner = (Spinner) rootView.findViewById(R.id.spinner);
mSpinner.setAdapter(adapter);
mSpinner.setOnItemSelectedListener(this);
对Activity
ToolBar
<?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/tools"
android:id="@+id/toolbar"
style="@style/ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundcolor"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >
<Spinner
android:id="@+id/spinner"
android:visibility="GONE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.v7.widget.Toolbar>
在你的 Activity
getReference 中 Spinner
启动时 Fragment
make Spinner
VISIBLE/GONE
即
getActivity().spinnerInMainActivity.setVisibility(View.VISIBLE);