我想在Toolbar
的末尾设置一个图标,启动另一项活动。
我的Toolbar
部分
<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="@dimen/abc_action_bar_default_height_material"
android:background="#2B4AE0"
app:theme="@style/ToolBarStyle">
<TextView
android:id="@+id/headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Theme"
android:textColor="@android:color/white" />
<RelativeLayout
android:id="@+id/notification"
android:layout_width="50dp"
android:layout_height="match_parent"
android:clickable="true"
android:gravity="center" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/bell_icon" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
我试过
android:layout_alignParentEnd="true"
并设置保证金,但无法正常工作。
答案 0 :(得分:29)
尝试将此添加到您的ImageView:
android:layout_gravity="end"
答案 1 :(得分:12)
如果你想要这样的东西(图标2)
您不需要手动向布局添加图标,您应该实现menu.xml
像这样创建menu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/new_activity" android:icon="@drawable/ic_custom_icon" android:title="@string/new_activity" /> </menu>
通过
将您的活动/片段添加到操作栏/工具栏中@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
处理菜单项事件
带菜单的工具栏工作正常,它会自动将图标设置在工具栏右侧
答案 2 :(得分:1)
如果有任何人仍然感到困惑(包括我之前),那么android工作室不会为android:layout_gravity
标签下的toolbar
提供自动填充功能。为了使其有效,只需将android:layout_gravity="end"
复制并粘贴到ImageView
/布局。
答案 3 :(得分:0)
设置orderInCategory将设置菜单项的顺序
<item
...
android:orderInCategory="150"
app:showAsAction="always"
..
/>
如果要在菜单项之间添加边距,则可以在菜单项之间添加一个空菜单项
答案 4 :(得分:-1)
<item
android:title="kjljk"
app:showAsAction="always"
android:id="@+id/menuitem_search"
android:icon="@drawable/pdficon"
>
</item>
然后在OnCreateView中: setHasOptionsMenu(真); 关闭下面的OncreateView写下这个: @override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.pdf, menu);
...
}