menu

来源:互联网 发布:mac系统语言改成英文 编辑:程序博客网 时间:2024/06/05 04:33

styles.xml

<!-- Base application theme. --><style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">    <!-- Customize your theme here. -->    <item name="colorPrimary">@color/primary</item>    <item name="colorPrimaryDark">@color/primary_dark</item>    <item name="colorAccent">@color/accent</item>    <item name="windowActionModeOverlay">true</item>    <item name="actionModeBackground">@color/primary</item></style>

MainActivity.java

package com.example.netlh.menudemo;import android.graphics.Color;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.view.ActionMode;import android.support.v7.widget.PopupMenu;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private TextView mTextView;    private ActionMode.Callback mCallback = new ActionMode.Callback() {        @Override        public boolean onCreateActionMode(ActionMode mode, Menu menu) {            getMenuInflater().inflate(R.menu.action_menu, menu);            return true;        };    @Override    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {        return false;    }    @Override    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {        switch (item.getItemId()) {            case R.id.item3:                Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();                mTextView.setBackgroundColor(Color.RED);                break;            case R.id.item4:                Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();                mTextView.setBackgroundColor(Color.GREEN);                break;        }        return true;    }    @Override    public void onDestroyActionMode(ActionMode mode) {    }};private ActionMode mActionMode;protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mTextView = (TextView) findViewById(R.id.text_view);    mTextView.setOnLongClickListener(new View.OnLongClickListener() {        @Override        public boolean onLongClick(View v) {            mActionMode = startSupportActionMode(mCallback);            mActionMode.setTitle(R.string.action_menu_title);            mActionMode.setSubtitle("hello");            return true;        }    });    mTextView.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            PopupMenu popupMenu = new PopupMenu(MainActivity.this, mTextView);            popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu());            popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {                @Override                public boolean onMenuItemClick(MenuItem item) {                    switch (item.getItemId()) {                        case R.id.item5:                            Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();                            break;                        case R.id.item6:                            Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();                            break;                    }                    return true;                }            });            popupMenu.show();        }    });}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {    getMenuInflater().inflate(R.menu.main_menu, menu);    return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {    switch (item.getItemId()) {        case R.id.item1:            Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();            break;        case R.id.item2:            Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();            break;    }    return super.onOptionsItemSelected(item);}

}

原创粉丝点击