Menu等部分知识--2015.8.3

一、Menu:

1、menuitem&&submenu.   submenu:menuitem.

添加菜单:

1、代码添加: public boolean onCreateOptionsMenu(Menu menu) { 
        super.onCreateOptionsMenu(menu); 
        menu.add(Menu.NONE,  Menu.First+1 , 0, "设置").setIcon(R.drawable.setting); 
        return true; 
    } 

2、布局文件添加:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
        super.onOptionsItemSelected(item); 
        switch(item.getItemId()) //得到被点击的item的itemId 
        { 
        case  R.id.menu_setting : //这里的Id就是布局文件中定义的Id,在用R.id.XXX的方法获取出来 
            break; 
        case R.id.menu_info: 
            break; 
        } 
        return true; 
    }

菜单监听:

1、@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        switch(item.getItemId())//得到被点击的item的itemId
        {
        case Menu.First+1: //对应的ID就是在add方法中所设定的Id
            break;
        case Menu.First+2:
            break;
        }
        return true;
    }

2、 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        switch(item.getItemId())//得到被点击的item的itemId
        {
        case R.id.menu_setting://这里的Id就是布局文件中定义的Id,在用R.id.XXX的方法获取出来
            break;
        case R.id.menu_info:
            break;
        }
        return true;
    }


实例化MENU 也可以通过manuinflater来实现:

  1.  MenuInflater inflater = getMenuInflater();  
  2.         inflater.inflate(R.menu.options_menu, menu);    


二、安卓添加监听的四种方式
1、匿名内部类:
 ok=(Button)findViewByid(R.id.ok);
 ok.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
// 改变文本框的文本内容
tv.setText("Hello Android-" + new java.util.Date());
}
});
2、通常是在Activity组件实现其接口,这样可以多个外接控件共享一个接口,相对方便



3、似于第二种,好处是如果需要,可以实现多个监听接口,这样更加方便
Button btn0=(Button)findViewById(R.id.btn0);
Button btn1=(Button)findViewById(R.id.btn1);
btn1.setOnclickListener(new starkClick());
btn0.setOnClickListener(new stopClick());

class startClick implements OnClickListener{
public void onClick(View v){
switch(v.getId()){
case R.id.btn1;
}}}

stopClick如上。

4、直接绑定到标签


然后在对应activity中要有clickHandler这个函数。


三、不用xml文件的布局,用编码实现的布局:
super.setContentView(layout);
layout.setOrientation(LinearLayout.VERTICAL);
// 创建一个TextView
final TextView show = new TextView(this);
Button bn = new Button(this);//表示这个按钮是在“this”这个屏幕显示出来的
bn.setText(R.string.ok);
bn.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
// 向Layout容器中添加TextView
layout.addView(show);
// 向Layout容器中添加按钮
layout.addView(bn);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值