最近自定义ActionBar之后,发现左侧不能完全填充,总是留一点空白,经过查看新发布的V7的支持包中的style发现了解决方法。
Android 推出了5.0之后,出现了ToolBar用以代替ActionBar,在新的支持包中,有以下style:
<item name="toolbarStyle">@style/Widget.AppCompat.Toolbar</item>
<item name="toolbarNavigationButtonStyle">@style/Widget.AppCompat.Toolbar.Button.Navigation</item>
查看Wiget.AppCompat.Toolbar的parent,如下:
<style name="Base.Widget.AppCompat.Toolbar" parent="android:Widget">
<item name="titleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Title</item>
<item name="subtitleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle</item>
<item name="android:minHeight">?attr/actionBarSize</item>
<item name="titleMargins">4dp</item>
<item name="maxButtonHeight">56dp</item>
<item name="collapseIcon">?attr/homeAsUpIndicator</item>
<item name="collapseContentDescription">@string/abc_toolbar_collapse_description</item>
<item name="contentInsetStart">16dp</item>
</style>
其中,contentInsetStart这个属性就是引起自定义ActionBar不能完全填充的原因。
解决方法:
在styles.xml中定义新的style继承自Wiget.AppCompat.Toolbar如下:
<style name="ClubToolbar" parent="Widget.AppCompat.Toolbar">
<item name="contentInsetStart">0dp</item><!-- 设置该属性解决空白部分-->
</style>
然后在你的AppStyle中重写toolbar属性:
<item name="toolbarStyle">@style/ClubToolbar</item>
如此便可以解决自定义ActionBar左侧不能填充的问题了
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
在Android API Level 11及以上版本,你可以直接使用ActionBar,而对于低版本,可以通过使用Android Support Library来支持。 自定义ActionBar主要有以下几种方法: 1. **使用Theme**: 在AndroidManifest.xml中为...
对于Android 3.0以下版本,原生的ActionBar功能相对较弱,但开发者可以通过自定义来实现更多功能。本主题将详细探讨如何自定义ActionBar以及修改其样式。 首先,我们来看自定义ActionBar的知识点。在API 3.0以下...
Android自定义ActionBar,常用的样式
在Android应用开发中,ActionBar是Android系统提供的一种用于展示应用主要操作区域的组件,它通常包含应用图标、标题以及一些可点击的菜单项。然而,为了实现更具个性化和品牌特色的用户界面,开发者往往需要对...
在Android应用开发中,Action Bar是一个非常重要的组件,它提供了应用程序的标识、主要的操作选项以及一个可选的“导航抽屉”(Navigation Drawer)。自定义Action Bar可以帮助开发者根据自己的需求来设计更符合应用...
在Android开发中,尤其是使用V7库之后,开发者可能会遇到自定义`Toolbar`或`ActionBar`在屏幕左侧出现空白的问题。这个问题通常是由于`Toolbar`的默认内边距(`contentInsetStart`)设置导致的。在V7库中,`Widget....
在Android应用开发中,ActionBar是系统提供的一种顶部导航栏,用于展示应用的标识、标题以及操作选项。然而,系统默认的ActionBar标题布局通常是左对齐的,这在某些设计需求中可能不符合要求。本篇文章将深入探讨...
在Android应用开发中,ActionBar是一个重要的组件,它位于应用程序界面的顶部,通常包含应用的标识、导航选项以及一些操作按钮。自定义ActionBar布局是提升应用界面个性化和用户体验的关键步骤之一。本文将深入探讨...
不过,为了支持更低版本的Android系统,开发者通常会使用AppCompat库中的ActionBar。然而,在这个实例中,我们并不依赖额外的库,而是完全自定义一个ActionBar,这使得项目更加轻量级。 自定义ActionBar的核心在于...
在Android应用开发中,Action Bar是用户界面的一个关键组件,它位于屏幕顶部,提供应用程序的标识、主要操作以及导航选项。然而,系统默认的Action Bar可能无法满足所有设计需求,因此开发者经常需要对其进行自定义...
在早期的Android版本(API级别低于11)中,ActionBar并未内置,但随着android-support-v7库的发布,Google为API 11以下的版本提供了对ActionBar的支持,使得开发者可以方便地在低版本设备上实现类似高版本的功能。...
在Android中,我们通常使用ActionBar Sherlock库或AppCompat库(自Android support library 21起,AppCompat已经内置了对ActionBar的支持)来支持在低版本系统上使用ActionBar。自定义ActionBar主要涉及以下几个方面...
自定义SearchView需要考虑Android的不同版本和设备,确保在各种环境下都能正常工作。这可能需要使用Support Library或AndroidX库来实现向后兼容。 8. **测试和调试** 在实际应用中,对自定义SearchView进行充分的...
Android开发中的`appcompat-v7`库是Google为了支持老版本Android设备而推出的兼容库,主要目的是为了让开发者能够在低版本的Android系统上使用新版本引入的功能。`appcompat-v7:23.1.1`是这个库的一个特定版本,发布...
对于支持更低版本的Android系统,可以使用ActionBar Sherlock库,这是一个开源库,它可以让你在Android 2.1(API级别7)及以上版本的设备上使用ActionBar。 4. **源码分析** `ActionBarDemo`项目中应该包含了实现...
1. **创建自定义组件**:创建一个新类,继承自Flex4的BaseComponent或SkinnableComponent,然后添加你需要的属性和方法,以控制ActionBar的显示和行为。 2. **定义皮肤**:在Flex中,组件的外观通过皮肤来定义。你...
ActionBar 是 Android 4.0 (API 级别 14) 引入的一个新特性,它替代了传统的标题栏 (title bar),并提供了一个更丰富、更灵活的界面控件,用于整合应用的基本导航和辅助功能。ActionBar 出现在 Activity 的顶部,...
本源码工程即为一个关于如何自定义ActionBar的实例,旨在解决Android开发中对ActionBar控制不够灵活的问题。 首先,我们需要了解ActionBar的基本结构。它通常由以下几个部分组成:应用图标、标题、副标题、菜单项和...