是否可以在透明工具栏中添加彩色图标?

时间:2015-01-28 19:05:37

标签: android android-actionbar android-support-library android-toolbar

是否可以将这样的圆形图标添加到透明工具栏(样式为操作栏),并保持其着色?

编辑:此图标将在工具栏上右对齐,类似于您在大多数应用中看到三点菜单图标的位置。

Circular icon

1 个答案:

答案 0 :(得分:1)

您想要为工具栏的菜单充气,将背景设置为透明,并使用图标为菜单充气。

使用工具栏的活动

public class MainActivity extends ActionBarActivity {
    Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // getSupportActionBar().hide();
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle("Hello World");
        toolbar.inflateMenu(R.menu.menu_main);
        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                int id = item.getItemId();
                if (id == R.id.icon) {
                    // Your action here
                    Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_SHORT).show();
                    return true;
                }
                return false;
            }
        });
    }
}

活动布局

<LinearLayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_height="56dp"
        android:layout_width="match_parent"
        app:theme="@style/ThemeOverlay.AppCompat.Light"
        android:elevation="5dp"
        android:background="@android:color/transparent" />
</LinearLayout>

菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/icon"
        android:title="Icon Title"
        android:icon="@drawable/ic_launcher"
        android:orderInCategory="100"
        app:showAsAction="always" />
</menu>