我的应用程序中有一个几乎全屏的对话框片段,顶部有一个工具栏。我想在Material design guidelines:
中设置此工具栏的样式
工具栏XML:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="@dimen/abc_action_bar_default_height_material"
android:layout_width="match_parent"
android:title="@string/new_folder"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:background="@color/primary_dark"/>
菜单XML:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/action_done"
android:title="@string/action_save"
android:icon="@drawable/ic_done_white_48dp"
android:orderInCategory="100"
app:showAsAction="always|withText" />
</menu>
在我的Dialog Fragment中,与工具栏相关的代码:
private Toolbar.OnMenuItemClickListener mMenuItemListener = new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case android.R.id.home:
dismiss();
return true;
case R.id.action_done:
dismiss();
return true;
}
return false;
}
...
mToolbar.setNavigationIcon(R.drawable.ic_close_white_48dp);
mToolbar.inflateMenu(R.menu.menu_folder);
mToolbar.setOnMenuItemClickListener(mMenuItemListener);
我的工具栏看起来像这样:
我有四个问题:
我做错了什么?
请注意,我的工具栏未设置为操作栏!它只是片段中的工具栏。
答案 0 :(得分:2)
即使复选标记旁边也未显示“保存”文字 它有足够的空间
这是不可能的。您只能显示文字或仅显示图标。
X图标太大(可能使用36dip版本?)
你应该使用24dp版本。
工具栏不显示标题(“新建文件夹”)
因为你在Fragment中所以你需要将标题明确地设置到工具栏中,并且从你的代码中我看不到这样做的源代码。你需要以编程方式(通过xml看起来它已经坏了),我更喜欢你使用支持库。
X图标无法点击
您需要使用OnNavigationClickListener
而不是OnMenuClickListener
,您的X
图标是导航图标而不是菜单图标。
答案 1 :(得分:1)
使用
toolbar.setNavigationOnClickListener();
您需要设置标题
toolbar.setTitle(&#34;&#39;新文件夹&#34;)