你好,如果你是刚使用这个库的人可以不必理会,如果你之前使用了 TitleBar
这个库,也就是 9.0
版本以下的,在升级到 9.0
版本后需要进行适配,否则 Android Studio
会报错编译不通过
,对于这个问题我表示十分抱歉,低版本的 xml
属性命名得并不是很规范,现在在 5.0
和 9.0
版本进行优化,尽管这次的代价比较大,但是我会义无反顾去做,如果你使用了 TitleBar
但是不想进行适配,请不要升级依赖库版本。
从 10.2 以上的版本升级到 10.3 版本适配方案
修改 app:titleTextEllipsize
属性名,请使用 app:titleOverflowMode
代替(高版本的 CollapsingToolbarLayout 占用了 titleTextEllipsize 属性)
修改 app:leftTitleTextEllipsize
属性名,请使用 app:leftTitleOverflowMode
代替
修改 app:rightTitleTextEllipsize
属性名,请使用 app:rightTitleOverflowMode
代替
从 9.3 以上的版本升级到 9.5 版本适配方案
app:titleHorizontalPadding
app:leftHorizontalPadding
app:rightHorizontalPadding
从 5.0 以上的版本升级到 9.0 版本适配方案
删除 app:backButton
属性,请使用 app:leftIcon
代替,全局替换如下:
// 旧版本的用法
app:backButton="false"
// 新版本的用法
app:leftIcon="@null"
拆分 android:drawablePadding
属性,将原有属性拆分为以下几个属性:
app:titleIconPadding
app:leftIconPadding
app:rightIconPadding
拆分 android:drawableSize
属性,将原有属性拆分为以下几个属性:
app:titleIconWidth
app:titleIconHeight
app:leftIconWidth
app:leftIconHeight
app:rightIconWidth
app:rightIconHeight
属性改名一览,只是简单改名,没有做太多修改,大家可以使用全局替换:
5.0 版本
9.0 版本
app:leftSize
app:leftTitleSize
app:rightSize
app:rightTitleSize
app:leftColor
app:leftTitleColor
app:rightColor
app:rightTitleColor
app:leftTint
app:leftIconTint
app:rightTint
app:rightIconTint
app:lineColor
app:lineDrawable
命名空间和属性都修改(之前用的是系统属性),在这里不推荐大家使用全局替换,而是在代码中一一检查:
5.0 版本
9.0 版本
android:paddingVertical
app:childPaddingVertical
android:paddingHorizontal
app:childPaddingHorizontal
新增左标提和右标题的文本样式设置(之前的版本只有中间标题的):
app:leftTitleStyle
app:rightTitleStyle
新增中间标题图标设置(之前的版本只有左标题和右标题才有):
app:titleIcon
app:titleIconPadding
app:titleIconTint
新增图标的显示重心设置(图标在文字的哪个位置上面绘制):
app:titleIconGravity
app:leftIconGravity
app:rightIconGravity
从 1.5 以上的版本升级到 5.0 版本适配方案
常规适配:单词反向,不再采用下划线形式,而用单词开头大写的方式代替
3.5 版本
5.0 版本
title_left
leftTitle
title_right
rightTitle
icon_left
leftIcon
icon_right
rightIcon
color_title
titleColor
color_right
rightColor
color_left
leftColor
size_title
titleSize
size_right
rightSize
size_left
leftSize
background_left
leftBackground
background_right
rightBackground
特殊适配:去除下划线,并且用单词开头大写的方式代替
3.5 版本
5.0 版本
bar_style
barStyle
line_visible
lineVisible
line_color
lineColor
line_size
lineSize
3.5 版本
5.0 版本
icon_back
backButton
3.5 版本
5.0 版本
title
title
<declare-styleable name =" TitleBar" >
<!-- 标题栏的样式 -->
<attr name =" bar_style" >
<enum name =" light" value =" 0x10" />
<enum name =" night" value =" 0x20" />
<enum name =" transparent" value =" 0x30" />
</attr >
<!-- 标题 -->
<attr name =" title" format =" string" />
<attr name =" title_left" format =" string" />
<attr name =" title_right" format =" string" />
<!-- 图标 -->
<attr name =" icon_left" format =" reference" />
<attr name =" icon_right" format =" reference" />
<!-- 返回按钮,默认开 -->
<attr name =" icon_back" format =" boolean" />
<!-- 文字颜色 -->
<attr name =" color_title" format =" color" />
<attr name =" color_right" format =" color" />
<attr name =" color_left" format =" color" />
<!-- 文字大小 -->
<attr name =" size_title" format =" dimension" />
<attr name =" size_right" format =" dimension" />
<attr name =" size_left" format =" dimension" />
<!-- 按钮背景 -->
<attr name =" background_left" format =" reference|color" />
<attr name =" background_right" format =" reference|color" />
<!-- 分割线 -->
<attr name =" line_visible" format =" boolean" />
<attr name =" line_color" format =" color" />
<attr name =" line_size" format =" dimension" />
</declare-styleable >
<declare-styleable name =" TitleBar" >
<!-- 整体样式 -->
<attr name =" barStyle" >
<enum name =" light" value =" 0x10" />
<enum name =" night" value =" 0x20" />
<enum name =" transparent" value =" 0x30" />
</attr >
<!-- 中间 -->
<attr name =" title" format =" string" />
<attr name =" titleColor" format =" color" />
<attr name =" titleSize" format =" dimension" />
<!-- 左边 -->
<attr name =" leftTitle" format =" string" />
<attr name =" leftIcon" format =" reference" /><!-- leftIcon 优先于 backButton -->
<attr name =" backButton" format =" boolean" /><!-- 返回按钮(默认开) -->
<attr name =" leftColor" format =" color" />
<attr name =" leftSize" format =" dimension" />
<attr name =" leftBackground" format =" reference|color" />
<!-- 右边 -->
<attr name =" rightTitle" format =" string" />
<attr name =" rightIcon" format =" reference" />
<attr name =" rightColor" format =" color" />
<attr name =" rightSize" format =" dimension" />
<attr name =" rightBackground" format =" reference|color" />
<!-- 分割线 -->
<attr name =" lineVisible" format =" boolean" />
<attr name =" lineColor" format =" reference|color" />
<attr name =" lineSize" format =" dimension" />
</declare-styleable >
<declare-styleable name =" TitleBar" >
<!-- 标题栏背景 -->
<attr name =" android:background" />
<!-- 标题栏样式 -->
<attr name =" barStyle" >
<enum name =" light" value =" 0x10" />
<enum name =" night" value =" 0x20" />
<enum name =" transparent" value =" 0x30" />
<enum name =" ripple" value =" 0x40" />
</attr >
<!-- 控件水平内间距 -->
<attr name =" childPaddingHorizontal" format =" dimension" />
<!-- 控件垂直内间距(可用于调整标题栏自适应的高度) -->
<attr name =" childPaddingVertical" format =" dimension" />
<!-- 中间标题 -->
<attr name =" title" format =" string" />
<attr name =" titleColor" format =" color" />
<attr name =" titleSize" format =" dimension" />
<attr name =" titleGravity" >
<flag name =" left" value =" 0x03" />
<flag name =" right" value =" 0x05" />
<flag name =" center" value =" 0x11" />
<flag name =" start" value =" 0x00800003" />
<flag name =" end" value =" 0x00800005" />
</attr >
<attr name =" titleStyle" >
<flag name =" normal" value =" 0" />
<flag name =" bold" value =" 1" />
<flag name =" italic" value =" 2" />
</attr >
<attr name =" titleIcon" format =" reference" />
<attr name =" titleIconWidth" format =" dimension" />
<attr name =" titleIconHeight" format =" dimension" />
<attr name =" titleIconPadding" format =" dimension" />
<attr name =" titleIconTint" format =" color" />
<attr name =" titleIconGravity" >
<flag name =" top" value =" 0x30" />
<flag name =" bottom" value =" 0x50" />
<flag name =" left" value =" 0x03" />
<flag name =" right" value =" 0x05" />
<flag name =" start" value =" 0x00800003" />
<flag name =" end" value =" 0x00800005" />
</attr >
<!-- 左边标题 -->
<attr name =" leftTitle" format =" string" />
<attr name =" leftTitleColor" format =" color" />
<attr name =" leftTitleSize" format =" dimension" />
<attr name =" leftTitleStyle" >
<flag name =" normal" value =" 0" />
<flag name =" bold" value =" 1" />
<flag name =" italic" value =" 2" />
</attr >
<attr name =" leftIcon" format =" reference" />
<attr name =" leftIconWidth" format =" dimension" />
<attr name =" leftIconHeight" format =" dimension" />
<attr name =" leftIconPadding" format =" dimension" />
<attr name =" leftIconTint" format =" color" />
<attr name =" leftIconGravity" >
<flag name =" top" value =" 0x30" />
<flag name =" bottom" value =" 0x50" />
<flag name =" left" value =" 0x03" />
<flag name =" right" value =" 0x05" />
<flag name =" start" value =" 0x00800003" />
<flag name =" end" value =" 0x00800005" />
</attr >
<attr name =" leftBackground" format =" reference|color" />
<!-- 右边标题 -->
<attr name =" rightTitle" format =" string" />
<attr name =" rightTitleColor" format =" color" />
<attr name =" rightTitleSize" format =" dimension" />
<attr name =" rightTitleStyle" >
<flag name =" normal" value =" 0" />
<flag name =" bold" value =" 1" />
<flag name =" italic" value =" 2" />
</attr >
<attr name =" rightIcon" format =" reference" />
<attr name =" rightIconWidth" format =" dimension" />
<attr name =" rightIconHeight" format =" dimension" />
<attr name =" rightIconPadding" format =" dimension" />
<attr name =" rightIconTint" format =" color" />
<attr name =" rightIconGravity" >
<flag name =" top" value =" 0x30" />
<flag name =" bottom" value =" 0x50" />
<flag name =" left" value =" 0x03" />
<flag name =" right" value =" 0x05" />
<flag name =" start" value =" 0x00800003" />
<flag name =" end" value =" 0x00800005" />
</attr >
<attr name =" rightBackground" format =" reference|color" />
<!-- 分割线 -->
<attr name =" lineVisible" format =" boolean" />
<attr name =" lineDrawable" format =" reference|color" />
<attr name =" lineSize" format =" dimension" />
</declare-styleable >