別のアクティビティを開始する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"
左マージンを設定しますが、正しく機能しません。
これをImageViewに追加してみてください:
Android:layout_gravity="end"
このようなものが必要な場合(アイコン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;
}
メニュー項目イベントを処理する
メニュー付きツールバーは正常に機能し、ツールバーの右側にアイコンを自動的に設定します
まだ混乱している人がいる場合(以前私も含めて)、どういうわけかAndroid studioはtoolbar
タグの下のAndroid:layout_gravity
のオートコンプリートを提供しません。 Android:layout_gravity="end"
をコピーしてImageView
/layoutに貼り付けてください。
<item
Android:title="kjljk"
app:showAsAction="always"
Android:id="@+id/menuitem_search"
Android:icon="@drawable/pdficon"
>
</item>
次に、OnCreateViewで:setHasOptionsMenu(true);以下のOncreateViewを閉じると、次のように記述されます。@ Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.pdf, menu);
...
}