菜单【SubMenu】

【SubMenu】

【方法】

 一、onCreateOptionsMenu //重写activity onCreateOptionsMenu 方法,创建menu

 二、onOptionsItemSelected //当menu中的子菜单被选择时,作出响应

---------------------------------------------------------------------------------------------------------------------------------------------

【实例+代码】

【开始界面】


【按下Menu后】


上图这两个都是SubMenu

【按下“设置字体大小”】


这是Menuitem 的ADD方法,添加的弹出式菜单

【按下20号字体后的效果 】


----------------------------------------------------------------------------------------------------------------------------------------

public class MenuTest extends Activity
{

        //自定义,=号右边可任写,但要唯一
final int FONT_10 = 0x111;
final int FONT_20 = 0x112;
final int FONT_30 = 0x113;                               
final int FONT_COLOR_RED=0x121;
final int FONT_COLOR_BLUE=0x122;
final int FONT_COLOR_YELLOW=0x123;

EditText show ;
@Override

        //不费话了
protected void onCreate(Bundle savedInstanceState)
{

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show=(EditText)findViewById(R.id.txt);
show.setText("I am talent!");

}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
SubMenu fontMenu=menu.addSubMenu("设置字体大小");//创建子菜单文字
fontMenu.setIcon(R.drawable.font);//子菜单图标
fontMenu.setHeaderTitle("字体大小");//子菜单弹出菜单文字
fontMenu.setHeaderIcon(R.drawable.font);//子菜单弹出菜单图标

fontMenu.add(0, FONT_10, 1, "10号字体");//order(第三个参数):弹出菜单的先后
fontMenu.add(0, FONT_20, 2, "20号字体");//order:顺序
fontMenu.add(0, FONT_30, 3, "30号字体");//order:顺序

SubMenu colorMenu=menu.addSubMenu("设置字体颜色");
colorMenu.setIcon(R.drawable.color);
colorMenu.setHeaderTitle("颜色");
colorMenu.setHeaderIcon(R.drawable.color);
colorMenu.add(0, FONT_COLOR_RED, 1, "red");//order:顺序
colorMenu.add(0, FONT_COLOR_BLUE, 3, "blue");//order:顺序
colorMenu.add(0, FONT_COLOR_YELLOW, 2, "yellow");//order:顺序

return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case FONT_10:
show.setTextSize(10*2);
break;
case FONT_20:
show.setTextSize(16*4);
break;
case FONT_30:
show.setTextSize(32*8);
break;
case FONT_COLOR_RED:
show.setTextColor(Color.RED);
break;
case FONT_COLOR_YELLOW:
show.setTextColor(Color.YELLOW);
break;
case FONT_COLOR_BLUE:
show.setTextColor(Color.BLUE);
break;
}
return true;
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值