menu菜单

[1]添加菜单方式 通过一个布局 在res下 meun目录下创建一个布局

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings1"
        android:orderInCategory="10"
        android:title="hahah"/>

    
     <item
        android:id="@+id/action_settings2"
        android:orderInCategory="11"
        android:title="hehe"/>
    
    
</menu>

[2]动态的添加

public boolean onCreateOptionsMenu(Menu menu) {
        
//        [1]getMenuInflater().inflate(R.menu.main, menu);
        
       //[2]添加菜单 
        menu.add(0, 1, 0, "后退");
        menu.add(0, 2, 0, "前进");
        return true;
    }

[3]点击menu弹出一个对话框 如果你想实现自己定义的view 效果重写onMeunOpened方法

public class MainActivity extends Activity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
//        [1]getMenuInflater().inflate(R.menu.main, menu);
        
       //[2]添加菜单 
        menu.add(0, 1, 0, "后退");
        menu.add(0, 2, 0, "前进");
        return true;
    }
    
    //想知道具体点击的是menu的哪个条目 需要重写这个方法
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case 1:
            
            System.out.println("后退");
            break;
            
    case 2:
        System.out.println("前进");
            break;

        default:
            break;
        }
        
        
        return super.onOptionsItemSelected(item);
    }
    
    //当点击menu按键的时候执行这个方法 
    @Override
    public boolean onMenuOpened(int featureId, Menu menu) {
        
        //弹出一个对话框 
        AlertDialog.Builder builder = new Builder(this);
        builder.setTitle("警告");
        builder.setMessage("您的网络异常");
        builder.setPositiveButton("确定", new OnClickListener() {
            
            @Override
            public void onClick(DialogInterface dialog, int which) {
                
                System.out.println("点了确定");
            }
        });
        builder.setNegativeButton("取消", new OnClickListener() {
            
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //点击取消执行 
                System.out.println("取消");
                
            }
        });
        //使用对话框一定要记得show出来 
        builder.show();
        
        return false;
    }
    
    //点击按钮跳转TestActivity
    public void click(View v) {
        Intent intent = new Intent(this,TestActity.class);
        startActivity(intent);
        
    }

}

 

posted @ 2016-12-02 15:29  iFat  阅读(231)  评论(0编辑  收藏  举报