zoukankan      html  css  js  c++  java
  • OnContextItemSelected() 菜单应用

    public class MainActivity extends Activity {
    private boolean flag=true;
    private Button btn01,btn02;
    private String[] sizes=new String[]{"8","12","16","20","24","28"};

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

    btn01=(Button)findViewById(R.id.btn01);
    btn02=(Button)findViewById(R.id.btn02);
    registerForContextMenu(btn01);
    registerForContextMenu(btn02);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    MenuItem start=menu.findItem(R.id.start);
    MenuItem stop=menu.findItem(R.id.stop);
    start.setEnabled(flag);
    stop.setEnabled(!flag);
    flag=!flag;
    return super.onPrepareOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub

    switch (item.getItemId()) {
    case R.id.exit:
    finish();
    break;
    case R.id.start:
    case R.id.stop:
    invalidateOptionsMenu();
    default:
    Toast.makeText(MainActivity.this, item.getTitle()+"被选中了", Toast.LENGTH_LONG).show();
    break;
    }
    return super.onOptionsItemSelected(item);
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
    // TODO Auto-generated method stub
    super.onCreateContextMenu(menu, v, menuInfo);
    switch (v.getId()) {
    case R.id.btn01:
    menu.setHeaderTitle("文件操作");
    menu.add(0, Menu.FIRST+1, 0, "重命名");
    SubMenu color=menu.addSubMenu(0, Menu.FIRST+2, 0, "设置文本颜色");
    color.add(0,Menu.FIRST+21,0,"红色");
    color.add(0,Menu.FIRST+22,0,"蓝色");
    color.add(0,Menu.FIRST+23,0,"绿色");
    color.add(0,Menu.FIRST+24,0,"紫色");
    break;
    case R.id.btn02:
    menu.setHeaderTitle("文件操作");
    menu.add(0, Menu.FIRST+3, 0, "设置文本字体大小");
    SubMenu bgcolor=menu.addSubMenu(0, Menu.FIRST+4, 0, "设置文本背景");
    bgcolor.add(0,Menu.FIRST+41,0,"红色");
    bgcolor.add(0,Menu.FIRST+42,0,"蓝色");
    bgcolor.add(0,Menu.FIRST+43,0,"绿色");
    bgcolor.add(0,Menu.FIRST+44,0,"紫色");
    break;
    default:
    break;
    }
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    switch (item.getItemId()) {
    case Menu.FIRST+1:
    Builder builder=new AlertDialog.Builder(MainActivity.this);
    builder.setTitle("请输入新的名称");
    builder.setIcon(R.drawable.a1);
    final EditText edit=new EditText(MainActivity.this);
    builder.setView(edit);
    builder.setPositiveButton("确定 ", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    btn01.setText(edit.getText().toString());
    }
    });
    builder.create().show();

    break;
    case Menu.FIRST+21:
    btn01.setTextColor(Color.RED);
    break;
    case Menu.FIRST+22:
    btn01.setTextColor(Color.GREEN);
    break;
    case Menu.FIRST+23:
    btn01.setTextColor(Color.BLUE);
    break;
    case Menu.FIRST+24:
    btn01.setTextColor(Color.YELLOW);
    break;
    case Menu.FIRST+41:
    btn02.setBackgroundColor(Color.RED);
    break;
    case Menu.FIRST+42:
    btn02.setBackgroundColor(Color.GREEN);
    break;
    case Menu.FIRST+43:
    btn02.setBackgroundColor(Color.BLUE);
    break;
    case Menu.FIRST+44:
    btn02.setBackgroundColor(Color.YELLOW);
    break;

    case Menu.FIRST+3:
    Builder sizeBuilder=new AlertDialog.Builder(MainActivity.this);
    sizeBuilder.setTitle("请选择字体大小");
    sizeBuilder.setIcon(R.drawable.a2);
    sizeBuilder.setSingleChoiceItems(sizes, 1, new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    btn02.setTextSize(Integer.parseInt(sizes[which]));
    }
    });
    sizeBuilder.setPositiveButton("确定 ", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    //btn01.setText(edit.getText().toString());
    }
    });
    sizeBuilder.create().show();

    default:
    break;
    }
    return super.onContextItemSelected(item);
    }

    }

  • 相关阅读:
    文字超出省略号表示的几种方法
    Sqlserver数据库死锁
    Session丢失原因与解决方案
    CLR Profiler 性能分析工具 (转)
    微软HoloLens虚拟现实可以开发了。
    数据表分区
    SQLSERVER内核架构剖析 (转)
    理解SQL SERVER中的分区表(转)
    SQL Server Profile:使用方法和指标说明
    监视剪贴板(转)
  • 原文地址:https://www.cnblogs.com/liumin-txgt/p/12785715.html
Copyright © 2011-2022 走看看