Android——自定义Actionbar左侧覆盖不全的解决方案
今天遇到一个很蛋疼的问题,就是在自定义Actionbar的时候,setCustomView中,自定义的view怎么也覆盖不了整个视图,左侧一直留有一个空白,看下图:
所写的部分代码如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 自定义actionbar的布局
setActionBarLayout( R.layout.actionbar_port );
}
/* 自定义actionbar */
private void setActionBarLayout(int layoutId) {
ActionBar actionBar = getActionBar( );
/*使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就个标题,
如果设成true,显示应用程序图标,对应id为android.R.id.home*/
actionBar.setDisplayShowHomeEnabled( false );
//使自定义的普通View能在title栏显示,即actionBar.setCustomView能起作用
actionBar.setDisplayShowCustomEnabled(true);
LayoutInflater inflator = (LayoutInflater) this.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(layoutId,null);
ActionBar.LayoutParams layout = new ActionBar.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
actionBar.setCustomView(v,layout);
}
实际显示的时候,在4.4.2系统,ActionBar左侧有一块区域不是自定义的布局。在当前Activity的父类或者上述代码中加入如下代码,则显示正常:
//测试发现在4.4系统上,没有该代码,则ActionBar左侧出现无法覆盖问题
if (getActionBar() != null) {
getActionBar().setTitle("");
}
即有:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 自定义actionbar的布局
setActionBarLayout( R.layout.actionbar_port );
}
/* 自定义actionbar */
private void setActionBarLayout(int layoutId) {
ActionBar actionBar = getActionBar( );
/*使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就个标题,
如果设成true,显示应用程序图标,对应id为android.R.id.home*/
actionBar.setDisplayShowHomeEnabled( false );
//使自定义的普通View能在title栏显示,即actionBar.setCustomView能起作用
actionBar.setDisplayShowCustomEnabled(true);
//测试发现在4.4系统上,没有该代码,则ActionBar左侧出现无法覆盖问题
if (getActionBar() != null) {
getActionBar().setTitle("");
}
LayoutInflater inflator = (LayoutInflater) this.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(layoutId,null);
ActionBar.LayoutParams layout = new ActionBar.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
actionBar.setCustomView(v,layout);
}
Android——自定义Actionbar左侧覆盖不全的解决方案的更多相关文章
- android 自定义ratingbar 图片显示不全的解决方案
在res/style中自定义评分条: <!-- 自定义评分条 --> <style name="roomRatingBar" parent="@andr ...
- Android 自定义ActionBar
Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外ja ...
- Android自定义ActionBar
Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外ja ...
- 自定义ActionBar完全覆盖系统的
//加载ActionBar的方法 @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this ...
- [安卓] 18、一个简单的例子做自定义动画按钮和自定义Actionbar
在做安卓UI的时候有时候需自定义具有动画效果的按钮或需要自定义一下actionbar~ 本节用一个简单的demo讲如何自定义具有动画效果的按钮,以及个性化的actionbar 下面是效果: 其中: △ ...
- Android中自定义ActionBar的背景色等样式style
Android中想要去自定义ActionBar的背景色等样式. [折腾过程] 1.自己找代码,发现对应的配置的地方了: AndroidManifest.xml ? 1 2 <applicatio ...
- Android UI ActionBar功能-自定义 Action Bar 样式
ActionBar的样式官方提供了三种: Theme.Holo Theme.Holo.Light Theme.Holo.Light.DarkActionBar 但不仅仅是这三种,我们还可以自己定义Ac ...
- Android查缺补漏(View篇)--自定义 View 中 wrap_content 无效的解决方案
自定义 View 中 wrap_content 无效的解决方案 做过自定义 View 的童鞋都会发现,直接继承 View 的自定义控件需要重写 onMeasure() 方法,并设置 wrap_cont ...
- wpf 自定义窗口,最大化时覆盖任务栏解决方案
原文:wpf 自定义窗口,最大化时覆盖任务栏解决方案 相信很多人使用wpf时会选择自定义美观的窗口,因此会设置WindowStyle="None" 取消自带的标题栏.但这样使用 W ...
随机推荐
- 【转】Linux中安装Resin
安装步骤: Ø 安装resin前先要保证安装了JDK,可以用命令查看是否安装了JDK: [root@wxr webapps]# java -versions java version " ...
- HDU 1015 Safecracker 解决问题的方法
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kl ...
- 《STL源代码剖析》---stl_alloc.h阅读笔记
这一节是讲空间的配置与释放,但不涉及对象的构造和析构,仅仅是解说对象构造前空前的申请以及对象析构后空间怎么释放. SGI版本号的STL对空间的的申请和释放做了例如以下考虑: 1.向堆申请空间 2.考虑 ...
- jquery之多重判断
var appPath = getAppPath(); $(function(){ $('#addTeskDlg').window('close'); teskGrid(); }); function ...
- 使用VS Code开发Angular 2应用程序所需配置文件的解析
目录 package.json typings.json tsconfig.json launch.json settings.json tasks.json package.json: 这是项目的基 ...
- Android Log日志文件的分析、查看
Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处理log文件 什么时候会产生log文件呢 ?一般 ...
- 左右推拽显示对比图 - jQyery封装 - 附源文件
闲来无事,做了一个模块效果 左右拖拽显示对比图,是用jq封装的 利用鼠标距离左侧(0,0)坐标的横坐标位移来控制绝对定位的left值 再配合背景图fixed属性,来制作视觉差效果 代码如下 <! ...
- MySQL按照汉字的拼音排序(转)
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...
- JNI错误记录--JNI程序调用本地库时JVM崩溃
什么是JNI内存泄露,基本的避免方法 : http://www.ibm.com/developerworks/cn/java/j-lo-jnileak/ 最近的课题中需要用到Spark,同组同学负责的 ...
- iOS应用崩溃日志分析-备用
作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! ...