Android 实现ActionBar定制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android 实现ActionBar定制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2413字,纯文字阅读大概需要4分钟。
内容图文
![Android 实现ActionBar定制](/upload/InfoBanner/zyjiaocheng/1318/ddee9b88654346c9989aa3fdcae67b7f.jpg)
我们在使用Android手机时,经常发现应用中的ActionBar和我们平时使用的ActionBar相差非常大。简单的说就是,其他应用的ActionBar为什么那么绚丽,自己应用的ActionBar就那么挫呢?最近有时间就仔细研究了一下关于ActionBar的相关问题。
首先我们来看一下之前所说的“高大上”的ActionBar的效果图:
查阅了Android文档以及ActionBar的实现源码,发现ActionBar是可以定制的(PS:Google还是想的非常周到,不愧为大神级别的程序员),看到这儿大家对ActionBar的神秘面纱已经揭晓了吧,接下来我们就来看看具体的怎么实现的。
package com.jony.actionbarccustom; import android.app.ActionBar; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //自定义ActionBar final ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView(R.layout.actionbar);//自定义ActionBar布局 actionBar.getCustomView().setOnClickListener(new OnClickListener() {//监听事件 @Override public void onClick(View arg0) { switch (arg0.getId()) { case R.id.back: showToast(R.string.finish); finish(); break; default: break; } } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.actionbar_menu, menu); //使用代码来动态控制MenuItem的显示状态 or XML定义MenuItem的显示状态 /* MenuItem share = menu.findItem(R.id.share); MenuItem undo = menu.findItem(R.id.undo); MenuItem redo = menu.findItem(R.id.redo); MenuItem save = menu.findItem(R.id.save); share.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); undo.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); redo.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); save.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);*/ return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.undo: showToast(R.string.undo); break; case R.id.redo: showToast(R.string.redo); break; case R.id.save: showToast(R.string.save); break; case R.id.share: showToast(R.string.share); break; default: break; } return super.onOptionsItemSelected(item); } private void showToast(int msg){ Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); } }
好了,具体的代码比较简单就不再阐述了,看一下效果图:
原文:http://blog.csdn.net/weihan1314/article/details/32142053
内容总结
以上是互联网集市为您收集整理的Android 实现ActionBar定制全部内容,希望文章能够帮你解决Android 实现ActionBar定制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。