Android:左侧的菜单项

Иль*_*мич 3 android

现在我有这个

在此处输入图片说明

但我想做这个:

在此处输入图片说明

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<item
    android:id="@+id/menu"
    android:icon="@drawable/ic_menu"
    android:title="@string/title_menu"
    app:showAsAction="always" />

<item
    android:id="@+id/file"
    android:icon="@drawable/ic_file"
    android:title="@string/title_file"
    app:showAsAction="always" />


<item
    android:id="@+id/new_file"
    android:icon="@drawable/ic_new_file"
    android:title="@string/title_new_file"
    app:showAsAction="always" />


<item
    android:id="@+id/visual"
    android:icon="@drawable/ic_eye"
    android:title="@string/title_eye"
    app:showAsAction="always" />


<item
    android:id="@+id/print"
    android:icon="@drawable/ic_print"
    android:title="@string/title_print"
    app:showAsAction="always" />

<item android:id="@+id/help"
    android:icon="@drawable/ic_help"
    android:title="@string/title_help" />
Run Code Online (Sandbox Code Playgroud)

我在活动中添加了这个菜单

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
    val inflater = menuInflater
    inflater.inflate(R.menu.designer_options_menu, menu)
    return true
}
Run Code Online (Sandbox Code Playgroud)

而且我不明白如何在左侧安装 ic_menu

Zai*_*ain 7

您可以通过使用 CoordinatorLayout 中的自定义工具栏来使用向上/主页按钮来执行此操作:

1. 主要布局

<android.support.design.widget.CoordinatorLayout 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.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>

    <!-- My Layout -->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!" />

    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

2. 你的菜单

<?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/folder"
        android:icon="@drawable/ic_folder_black_24dp"
        android:orderInCategory="1"
        android:title=""
        app:showAsAction="always" />

    <item
        android:id="@+id/file"
        android:icon="@drawable/ic_insert_drive_file_black_24dp"
        android:orderInCategory="2"
        android:title=""
        app:showAsAction="always" />

    <item
        android:id="@+id/eye"
        android:icon="@drawable/ic_remove_red_eye_black_24dp"
        android:orderInCategory="3"
        android:title=""
        app:showAsAction="always" />

    <item
        android:id="@+id/print"
        android:icon="@drawable/ic_print_black_24dp"
        android:orderInCategory="4"
        android:title=""
        app:showAsAction="always" />

</menu>
Run Code Online (Sandbox Code Playgroud)

3. 爪哇

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_black_24dp);
            getSupportActionBar().setTitle("");
        }
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                Toast.makeText(this, "Home", Toast.LENGTH_SHORT).show();
                break;
            case R.id.eye:
                Toast.makeText(this, "Eye", Toast.LENGTH_SHORT).show();
                break;
            case R.id.file:
                Toast.makeText(this, "File", Toast.LENGTH_SHORT).show();
                break;
            case R.id.folder:
                Toast.makeText(this, "Folder", Toast.LENGTH_SHORT).show();
                break;
            case R.id.print:
                Toast.makeText(this, "Print", Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

4. 风格:使用 NoActionBar 主题

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

5. Gradle::为协调器布局添加设计支持库

implementation 'com.android.support:design:28.0.0'
Run Code Online (Sandbox Code Playgroud)

结果

在此处输入图片说明