Android(安卓)Go 8.1.0 在Setting中菜单中添加条目
第一步:在AndroidManifest.xml注册Activity,
第二步:在对应的xml中,(我这里是about_legal.xml)中添加Preference。
代码:
alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/AndroidManifest.xml
alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/about_legal.xml
这样就可以添加成功了,但是发现一个问题就是Toolbar的字体是Setting,并不是我们写的Preference
的标题,在一级菜单和二级菜单下这样加入是OK的,
但是在Setting->system->about phone->Legal infomation
添加了Neffos Privacy Policy菜单,就有问题了。
一、重新设置title
在网上搜了一下Toolbar如何重新设置Title,发现很多方法都是针对v7包里面的
android.support.v7.widget.ToolbarmActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);setSupportActionBar(mActionBarToolbar);getSupportActionBar().setTitle(“My title”);
这样写的话,编译是报错的,因为在源码中Toolbar使用的widget包下的,
import android.widget.Toolbar;
所以可以直接使用searchActionBar.setTitle(getResources().getString(R.string.neffos_privacy_policy));
来替换Title,但是发现如果写在onCreate()方法中是不起作用的,需要写在onResume()方法中。
@Override protected void onResume() { super.onResume(); Toolbar searchActionBar = findViewById(com.android.internal.R.id.action_bar); if(searchActionBar != null){ searchActionBar.setTitle(getResources().getString(R.string.neffos_privacy_policy));} }
oncreate 和 onresume 在第一次创建的时候都会执行。但是实际上 oncreate 和 onresume 的确有区别。
oncreate 是当被创建的时候执行, onresume 是被展示的时候执行。比如在栈式管理的方式下,如果不被销毁,
那么oncreate 只会被执行一次, 而 onresume是依照展示机会执行。
二、添加返回按钮
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); } }
actionBar.setDisplayHomeAsUpEnabled(true)
// 给左上角图标的左边加上一个返回的图标
actionBar.setDisplayShowHomeEnabled(true)
//使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就个标题,否则,显示应用程序图标,对应id为android.R.id.home。
其中setHomeButtonEnabled和setDisplayShowHomeEnabled共同起作用,如果setHomeButtonEnabled设成false,即使setDisplayShowHomeEnabled设成true,图标也不能点击
//给返回按钮添加点击事件,返回上级目录。
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {if(item.getItemId() == android.R.id.home){finish();}return super.onOptionsItemSelected(item);}
效果图如下:
更多相关文章
- android配置开发环境
- Android组件 子菜单(SubMenu)
- SystemUI 下拉栏快捷键隐藏(一)
- 下载、更新Android(安卓)SDK慢的解决方案
- Android(安卓)Activity中ActionBar上添加返回功能
- 15个重要的Android代码
- android仿时间轴
- Android(安卓)Bitmap图片缩放优化,用canvas替代Matrix进行缩放,解
- 【Android(安卓)开发教程】添加ActionBar物件