今天遇到了一个问题,在一个actionbar上,title居中了,现在想要的方式是,让actionbar上显示返回按钮,后面紧跟着title。当时自己一直尝试要找到activity,然后在theme中进行。结果activity一直没有找到,而是找到了这个activity显示的fragment。后来直接在这个fragment中添加了如下代码,问题就解决了。

final ActionBar actionBar = activity.getActionBar();

actionBar.setDisplayHomeAsUpEnabled(true);

至于原因,我们要看下funui中进行的修改

getActivity方法如下

mActionBar = new WindowDecorActionBar(this);
return mActionBar;

WindowDecorActionBar 类

    public void setDisplayHomeAsUpEnabled(boolean showHomeAsUp) {
setDisplayOptions(showHomeAsUp ? DISPLAY_HOME_AS_UP : 0, DISPLAY_HOME_AS_UP);
}
    public void setDisplayOptions(int options) {
        if ((options & DISPLAY_HOME_AS_UP) != 0) {
            mDisplayHomeAsUpSet = true;
        }
        mDecorToolbar.setDisplayOptions(options);
    }
mDecorToolbar = getDecorToolbar(decor.findViewById(com.android.internal.R.id.action_bar));

我们继续看action_bar

        <com.android.internal.widget.ActionBarView
android:id="@+id/action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
style="?attr/actionBarStyle" />

接着看ActionBarView

            final boolean showLogo = (mDisplayOptions & ActionBar.DISPLAY_USE_LOGO) != 0;
if (!homeAsUp && !showLogo && (mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0) {
mTitleLayout.setGravity(Gravity.CENTER_HORIZONTAL);
}

这一句就是关键。如果title没有返回按钮,title就会居中

如果有了返回按钮,这个title就会从左到右分布

最新文章

  1. C#——传值参数(1)
  2. MIME Type
  3. 收藏的 500多个开源的Git源码
  4. [WP8.1UI控件编程]Windows Phone自定义布局规则
  5. 决策树之C4.5算法
  6. Linux usb子系统(二):USB设备驱动usb-skeleton.c
  7. zigbee学习:示例程序SampleApp中按键工作流程
  8. redis数据类型-散列类型
  9. Dubbo--基于Zookeeper服务与Spring集成
  10. 用Web api /Nancy 通过Owin Self Host简易实现一个 Http 服务器
  11. 关闭swap的危害——一旦内存耗尽,由于没有SWAP的缓冲,系统会立即开始OOM
  12. Python——eventlet.event
  13. 使用pool的多进程,不执行的问题
  14. 【OCP-12c】CUUG最新考试原题整理及答案(071-12)
  15. java之接口
  16. 关闭easyui Tabs,有意思的JS异步处理
  17. 对正在运行的mysql进行监控
  18. day--38 mysql表的完整性约束总结
  19. 启动应用程序的Activty多种方式
  20. 977. Squares of a Sorted Array

热门文章

  1. 怎样安装Windows7操作系统
  2. hdoj--3123--GCC(技巧阶乘取余)
  3. orm 通用方法——RunProc调用存储过程
  4. Flask Flash闪现
  5. Core J2EE Patterns - Service Locator--oracle官网
  6. OpenGL编程逐步深入(一)创建一个窗口
  7. MVC ValidateInput(false)页面验证失效的解决方案
  8. ES6学习笔记(七)对象的新增方法
  9. 应用层协议——HTTP
  10. HOJ——T 2430 Counting the algorithms