美文网首页
Toorbar+menu用法

Toorbar+menu用法

作者: 今天也要努力呀y | 来源:发表于2020-02-26 17:46 被阅读0次
    image.png

    在res新建叫menu的directory,在里面新建resource文件

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:id="@+id/search"
            android:title="搜索"
            android:icon="@mipmap/ic_launcher"/>
    
    </menu>
    

    navigationIcon是返回键
    title是标题
    theme是主题,用了Dark主题,title就是浅色的
    popupTheme是弹出的主题

    <?xml version="1.0" encoding="utf-8"?>
    <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">
    
        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toorbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:navigationIcon="@mipmap/ic_launcher"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            android:background="#000"
            app:title="微信">
        </androidx.appcompat.widget.Toolbar>
    
    
    </LinearLayout>
    

    在styles里修改

    parent="Theme.AppCompat.Light.NoActionBar"
    

    setSupportActionBar(toolbar);这句话如果缺失了就没有menu的显示了
    onCreateOptionsMenu是用来引入
    onOptionsItemSelected是用来写menu的点击事件

    package com.example.fourmajorcomponents;
    
    import androidx.annotation.NonNull;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.appcompat.widget.Toolbar;
    
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
        Toolbar toolbar;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            toolbar = findViewById(R.id.toorbar);
            setSupportActionBar(toolbar);
            toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(MainActivity.this, "456", Toast.LENGTH_SHORT).show();
                }
            });
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.toolbar,menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()){
                case R.id.search:
                    Toast.makeText(this, "123", Toast.LENGTH_SHORT).show();
                break;
            }
            return true;
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Toorbar+menu用法

          本文链接:https://www.haomeiwen.com/subject/xvzbchtx.html