将图标添加到工具栏Android

时间:2018-02-04 15:11:16

标签: android android-actionbar android-toolbar

我正在尝试使用这两行

在我的工具栏中添加一个图标
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.logo);

图标已添加,但是它已添加到工具栏的中央,如何将其添加到工具栏的右上角?

这是我的action_bar_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:textColor="#ffffff"
        android:id="@+id/action_bar_text"
        android:textSize="18sp" />

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

没有直接的方法可以在工具栏中将图标设置为RIGHT。另一种方法是使用Menu。

您可以执行以下操作

在res / menu.xml文件夹中创建一个Menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/menu_item"
          android:icon="@drawable/logo"
          app:showAsAction="always"/>

</menu>

在活动中实施以下方法。

@Override
public boolean onCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.right_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

现在进行上述更改后,您将看到工具栏右侧的图标。

您可以使用以下方法实现点击: -

    @Override
    public boolean onOptionsItemSelected(MenuItem item){

        switch(item.getItemId()){
            case R.id.menu_item:   //this item has your app icon
                Toast.makeText(this,"Tapped on icon",Toast.LENGTH_SHORT).show();
                return true;
            default: return super.onOptionsItemSelected(item);
        }
    }