关于使用ActionBar要注意的几点<动态更新...>
来源:互联网 发布:access数据库怎么用 编辑:程序博客网 时间:2024/05/11 16:36
1.参考博客:
a. http://blog.csdn.net/weihan1314/article/details/32142053(使用在activity中直接通过代码初始化ActionBar)
b. http://blog.csdn.net/afei__/article/details/51476096 (使用xml文件的形式初始化ActionBar)
c. http://blog.csdn.net/liu149339750/article/details/8282471(ActionBar的原理性解释)
2.自己通过验证发现的问题.
先是参考第一种方式进行的.但是在其中发现了问题:
A. 就是在代码中发现了.通过方法getActionBar()获取到的ActionBar是null.会导致下面使用时报空指针异常错误(NullPointeException).
参照博客:
a. http://www.tuicool.com/articles/ye2qQfu,尝试解决,但是没能实现.
b. http://blog.csdn.net/lincyang/article/details/46286895 ,结合ab一起使用,用getSupportActionBar()使正常获取到Actionbar(注意此处有个前提,activity必须是继承自有titleBar的activity,否则依然报错,此方法直接飘红,无法使用)程序正常跑起来了.actionBar也正常在标题栏所处的位置.但出现问题B.
B. ActionBar左右两侧各有一块空白无法覆盖,问题出现,继续解决问题.
参考博客:
a. http://blog.csdn.net/afei__/article/details/51476096 (使用了一部分,就是参照着将 activity中的 activitybar.setCustomView()关联上actionbar.xml文件),
//自定义ActionBar final ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView(R.layout.actionbar);//自定义ActionBar布局
但发现在actionbar.xml中得toolbar中通过属性app:contentInsetStart无法解决左右空白的问题.
<android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="wrap_content" app:contentInsetStart="0dp" app:contentInsetEnd="0dp" app:contentInsetLeft="0dp" app:contentInsetRight="0dp"> </android.support.v7.widget.Toolbar>
又想通过能不能获取到actionbar的params的方式,通过设置参数的形式来再activity中解决问题.但没能找到actionBar对应的getParams()方法.
b 最终走向了使用xml文件初始化actionBar的方式.参照的参考博客1.b 直接将toolbar写在了activity直接setContentView的布局文件中(此处注意要将activity本身自有的titleBar清除掉). 最终将自定义的actionBar显现出来. 但是出现问题C
C.在自定义的ActionBar中又出现了上下有一块空白的问题.
如图:
最终还是发现了是layout_height存在问题.将layout_height更改为?android:actionbarsize解决问题.
更改前:
<android.support.v7.widget.Toolbar style="@style/CustomActionBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content"></android.support.v7.widget.Toolbar>
更改后:
<android.support.v7.widget.Toolbar style="@style/CustomActionBarStyle" android:layout_width="match_parent" android:layout_height="?android:actionBarSize"></android.support.v7.widget.Toolbar>
3.总结.虽然最终将问题都解决了,但花费的时间过长
对次有以下想法:
a.对于问题,有现成博客的先抄过来<一字不改>,先试试能不能跑起来再说,别功能还没实现,就凭着自己的感觉到处“调整”,不知道可能就是你的调整会导致没有出现预想的结果.
b.a中的的道理明白,但到自己手上总不自觉的去改动一下东西.求助各位看客,怎么破?!!多谢了!
- 关于使用ActionBar要注意的几点<动态更新...>
- 关于使用SIO流的几点注意
- 关于mysql索引使用需要注意的几点
- 关于CSocket、CAsyncSocket使用的几点注意
- 关于使用Sqlserver2005数据库复制向导要注意的几点
- 关于malloc的注意几点
- 关于闭包要注意的几点问题
- 关于递归的几点注意
- 关于UIPopverController的几点注意
- 关于HttpURLConnection需要注意的几点
- 关于多线程的几点注意
- 关于支付的几点注意
- 关于上传文件插件ajaxFileUpload使用的几点注意点
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- RecyclerView进阶
- bzoj3282(lct)
- mime
- 软考视频总结《二》
- Mac 下配置环境变量造成命令行命令无法使用的解决方法
- 关于使用ActionBar要注意的几点<动态更新...>
- Android-AIDL(跨进程访问
- HDU 5901 Count primes (求1e11内素数个数)
- 《Effect C++》学习------条款16:成对使用new和delete时要采取相同形式
- 算法设计:将一个数组分为奇数、偶数左右两个部分,要求时间复杂度为O(n)
- Python3导入自定义模块的3种方式
- 常用属性文档
- 滴滴2017校园招聘笔试题
- POJ1008