actionBar的简单使用

效果图一:                                                                                                                       效果图二:

                               


使用ActionBar,首先找到manifest,找到其主题:

android:theme="@style/AppTheme"

再通过style找到此主题

可以直接在此处修改颜色

最好将此主题继承Theme.Holo或其子类

值得注意的是:如果是使用Android Studio开发,请务必将新建项目后activity继承的AppCompatActivity修改为Activity,否则在修改minifest中Theme的parent后,会闪退(因为原来theme为:

parent="Theme.AppCompat.Light.DarkActionBar"
和AppCompatActivity是对应关系,所以当修改了manifest时请务必修改java代码)。

我新建了一个style,取名为myAppTheme,并在manifest中引用

可以通过Android:actionBarStyle改变ActionBar的背景颜色,文字样式等(为了便于查看,此处颜色、尺寸我就不引用了)


文字具体样式在Android:titleTextStyle中设置


如果要添加logo,则在manifest中添加

android:logo="@drawable/mylogo"
很明显,ActionBar上的文字在

android:label="@string/app_name"
manifest 修改后为:
 

当然如果你只想让此设置只作用于activity上,则将其写到activity下即可

至此,可出现效果图一的效果。


但是我们都希望标题的文字能够居中显示,即呈现效果图二的效果。

然而我并没有找到在style中直接设置文字居中的属性,故我们需要在java代码中修改

第一步:同样注意appTheme应该继承Theme.Holo或其子类,否则修改代码时会出错

第二步:新建一个xml文件,用于存放actionbar的样式

actionbar_title.xml

<?xml version="1.0" encoding="utf-8"?>        

第三步:在java代码中引用:

在onCreate中写:

//actionBar的设置(使用自定义的设置)        ActionBar actionBar=getActionBar();        actionBar.setCustomView(R.layout.actionbar_title);        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
由于是使用自定义的布局,所以之前在style中的配置可以不需要了(关于ActionBar的背景颜色,要么按之前的在style中设置,要么在自定义的xml中将布局背景修改即可,因为我之前已经设置过style,故xml中没有重复修改)

至此,即可呈现效果图二的效果。

更多相关文章

  1. Android上关于view的事件问题
  2. Android(安卓)创建AlertDislog时要小心哦
  3. Android(安卓)Metro菜单
  4. Android(安卓)ProgressBar设置转圈样式
  5. Retrofit2 使用FastJson作为Converter
  6. Android(安卓)ListView标题置顶效果实现
  7. Android(安卓)framework 编译常见错误
  8. android应用安装后不显示图标问题分析
  9. Android(安卓)Notification 通知栏点击不能跳转

随机推荐

  1. python搭建服务器实现两个Android客户端
  2. Android 依赖注入(DI)框架 Dagger
  3. Android Treble结构:Part 2 - 概述
  4. android源码分析 - AysncTask
  5. android变色状态栏
  6. Android(Java):jni写文件打印调试信息
  7. Android SDK Web SDK 接口测试总结
  8. Android UserAgent
  9. 源码角度分析Android启动流程
  10. Android最佳实践之响应灵敏性