关于ActionBar有太多太多的文章,这篇文章我们不去谈添加Action view,不去谈Action Provider。我刚开始接触Actionbar就是看的这些,
但感觉知识学的有点死,最近用到自定义ActionBar,一下就不知道怎么搞了,后来查阅了半天资料,总算解决了,所以说,
学知识还是遇到问题去学理解的更加透彻些。
好了废话不多说,直接进入正题,本次自定义AcitonBar主要实现的是隐藏ActionBar图标,自定义Action字体样式,背景样式。
具体来说有两种实现办法:
·xml文件中,在androidmanifest中设置theme属性,相当于注册,也可以理解为引用自定义的ActionBar,
自定义的ActionBar的样式文件在styles.xml文件中,个人感觉这种有点麻烦,所以本次只演示代码显示自定义ActionBar
·代码实现。这种方法只需要在OnCreate()中、setContentView()之后设置相应的属性即可。
实现代码如下:
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(android.app.ActionBar.DISPLAY_SHOW_CUSTOM,
android.app.ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setCustomView(R.layout.my_actionbar);
方法简单易懂,主要是加载了一个自定义的布局文件。你只需要在布局文件中定义一个自己想要的显示的样式的布局文件就OK了,
下面是我自己实现的样式的布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/myactionbartitie"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="22sp"/>
</LinearLayout>
布局是如此之简单,因为我要显示的Actionbar也是相当简单的
好了,下面看看运行效果图:
当然了,Actionbar远远不止这些,有兴趣可以开发自己想要的各种样式,这篇博客到此就完了!
注:Demo很简单,不提供代码下载。