web-dev-qa-db-ja.com

ツールバーの最後にアイコンを設定する方法

別のアクティビティを開始する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"

左マージンを設定しますが、正しく機能しません。

13
shine_joseph

これをImageViewに追加してみてください:

Android:layout_gravity="end"
29
Sam

このようなものが必要な場合(アイコン2) example

レイアウトにアイコンを手動で追加する必要はありません。 menu.xml を実装する必要があります

  1. このような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>
    
  2. アクティビティ/フラグメントにアクションバー/ツールバーに追加します

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater inflater = getMenuInflater();
       inflater.inflate(R.menu.menu, menu);
       return true;
    }
    
  3. メニュー項目イベントを処理する

メニュー付きツールバーは正常に機能し、ツールバーの右側にアイコンを自動的に設定します

14
Kirill Shalnov

まだ混乱している人がいる場合(以前私も含めて)、どういうわけかAndroid studioはtoolbarタグの下のAndroid:layout_gravityのオートコンプリートを提供しません。 Android:layout_gravity="end"をコピーしてImageView/layoutに貼り付けてください。

1
Kharda
<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);
    ...
}
0
Pritam