MenuInflater实现菜单添加

举报
SHQ5785 发表于 2024/01/10 09:08:19 2024/01/10
【摘要】 ​前言      之前实现的Android项目中可以实现菜单的显示。但是再次调试项目时发现此功能已无法实现,很是令人费解。难道是因为自己手机Android系统的问题?尝试通过别的手机进行真机调试。      经过在别人的手机上进行测试,发现问题依旧存在。那就是自己的程序有问题了。     实现菜单显示的代码如下:/** * 添加菜单或子菜单 * * 1.重写onCreateOptionsMe...

前言

      之前实现的Android项目中可以实现菜单的显示。但是再次调试项目时发现此功能已无法实现,很是令人费解。难道是因为自己手机Android系统的问题?尝试通过别的手机进行真机调试。

      经过在别人的手机上进行测试,发现问题依旧存在。那就是自己的程序有问题了。

     实现菜单显示的代码如下:

/**
 * 添加菜单或子菜单
 *
 * 1.重写onCreateOptionsMenu(Menu menu)方法,在该方法里调用Menu对象的方法来添加菜单项或子菜单
 */
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this);
inflater.inflate(R.menu.user_evaluation_activity_menu, menu);
return super.onCreateOptionsMenu(menu);
}
 
// 2.若希望应用程序能响应菜单项的单击事件,重写onOptionsItemSelected(MenuItem item)方法即可
@Override
public boolean onOptionsItemSelected(MenuItem item) {
 
// 得到当前选中的MenuItem的ID,
int item_id = item.getItemId();
 
switch (item_id) {
case R.id.ueaMenuItem_pinglun: {
 
// 判断该商品是否存在
Bundle data = new Bundle();
data.putString("barcode", barcode);
Intent intent = new Intent(UserEvaluationActivity.this,	AddEvaluationActivity.class);
 
intent.putExtras(data);
 
startActivityForResult(intent, 1);
 
} ;
break;
case R.id.ueaMenuItem_fenxiang: {
 
Intent intent = new Intent(Intent.ACTION_SEND);
 
// 设置分享类型
// intent.setType("image/*");
intent.setType("text/plain");
 
intent.putExtra(Intent.EXTRA_SUBJECT, "Share");
intent.putExtra(Intent.EXTRA_TEXT,
"#我正在使用“QuickMark”购物评价分享软件(分享自华强APP)#"
+ "我对条形码为:" + barcode + "的评价:" + string);
 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent.createChooser(intent, getTitle()));
 
};
break;
case R.id.ueaMenuItem_shuaxin: {
GetEvaluationTask dTask = new GetEvaluationTask();
dTask.execute(barcode);
 
};
break;
}
return true;
}

setTextColor()的参数设置方式

      查了下资料发现setTextColor()的参数可以写成以下形式:

直接使用颜色值

      setTextColor(0xFF0000FF);//0xFF0000FF是int类型的数据,分组一下0x|FF|0000FF,0x是代表颜色整数的标记,ff是表示透明度,0000FF表示颜色,注意:这里0xFF0000FF必须是8个的颜色表示,不接受0000FF这种6个的颜色表示。

使用系统自带的颜色类

      setTextColor(android.graphics.Color.BLUE);

使用资源文件进行设置

      setTextColor(this.getResources().getColor(R.color.blue));//通过获得资源文件进行设置。根据不同的情况R.color.blue也可以是R.string.blue或者R.drawable.blue,当然前提是需要在相应的配置文件里做相应的配置,如:

      <color name="blue">#0000FF</color>

      <drawable name="blue">#0000FF</drawable>

      <string name="blue">#0000FF</string>

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。