做影视网站挣钱吗,自己开公司,抖音91,江西建设安全网站标题栏框架
项目地址#xff1a;Github博客地址#xff1a;Android标题栏#xff08;TitleBar#xff09;绝佳解决方案
想了解实现原理的可以参考文章#xff1a;纯手工打造一个通用的标题栏 TitleBar
集成步骤
如果你的项目 Gradle 配置是在 7.0 以下#xff0c;需要…标题栏框架
项目地址Github博客地址Android标题栏TitleBar绝佳解决方案
想了解实现原理的可以参考文章纯手工打造一个通用的标题栏 TitleBar
集成步骤
如果你的项目 Gradle 配置是在 7.0 以下需要在 build.gradle 文件中加入
allprojects {repositories {// JitPack 远程仓库https://jitpack.iomaven { url https://jitpack.io }}
}
如果你的 Gradle 配置是 7.0 及以上则需要在 settings.gradle 文件中加入
dependencyResolutionManagement {repositories {// JitPack 远程仓库https://jitpack.iomaven { url https://jitpack.io }}
}
配置完远程仓库后在项目 app 模块下的 build.gradle 文件中加入远程依赖
android {// 支持 JDK 1.8compileOptions {targetCompatibility JavaVersion.VERSION_1_8sourceCompatibility JavaVersion.VERSION_1_8}
}dependencies {// 标题栏框架https://github.com/getActivity/TitleBarimplementation com.github.getActivity:TitleBar:10.5
}
布局属性大全
不同版本的 xml 属性适配请点击这里查看
declare-styleable nameTitleBar!-- 标题栏背景 --attr nameandroid:background /!-- 标题栏样式 --attr namebarStyleenum namelight value0x10 /enum namenight value0x20 /enum nametransparent value0x30 /enum nameripple value0x40 //attr!-- 子控件垂直内间距可用于调整标题栏自适应的高度 --attr namechildVerticalPadding formatdimension /!-- 中间标题 --attr nametitle formatstring /attr nametitleColor formatreference|color /attr nametitleSize formatdimension /attr nametitleGravityflag nameleft value0x03 /flag nameright value0x05 /flag namecenter value0x11 /flag namestart value0x00800003 /flag nameend value0x00800005 //attrattr nametitleStyleflag namenormal value0 /flag namebold value1 /flag nameitalic value2 //attrattr nametitleIcon formatreference /attr nametitleIconWidth formatdimension /attr nametitleIconHeight formatdimension /attr nametitleIconPadding formatdimension /attr nametitleIconTint formatcolor /attr nametitleIconGravityflag nametop value0x30 /flag namebottom value0x50 /flag nameleft value0x03 /flag nameright value0x05 /flag namestart value0x00800003 /flag nameend value0x00800005 //attrattr nametitleHorizontalPadding formatdimension /!-- 中间标题文本溢出处理模式默认开启跑马灯 --attr nametitleOverflowModeenum namenone value0 /enum namestart value1 /enum namemiddle value2 /enum nameend value3 /enum namemarquee value4 //attr!-- 左标题 --attr nameleftTitle formatstring/attr nameleftTitleColor formatreference|color /attr nameleftTitleSize formatdimension /attr nameleftTitleStyleflag namenormal value0 /flag namebold value1 /flag nameitalic value2 //attrattr nameleftIcon formatreference /attr nameleftIconWidth formatdimension /attr nameleftIconHeight formatdimension /attr nameleftIconPadding formatdimension /attr nameleftIconTint formatcolor /attr nameleftIconGravityflag nametop value0x30 /flag namebottom value0x50 /flag nameleft value0x03 /flag nameright value0x05 /flag namestart value0x00800003 /flag nameend value0x00800005 //attrattr nameleftBackground formatreference|color /attr nameleftForeground formatreference|color /attr nameleftHorizontalPadding formatdimension /!-- 左边标题文本溢出处理模式 --attr nameleftTitleOverflowModeenum namenone value0 /enum namestart value1 /enum namemiddle value2 /enum nameend value3 /enum namemarquee value4 //attr!-- 右标题 --attr namerightTitle formatstring /attr namerightTitleColor formatreference|color /attr namerightTitleSize formatdimension /attr namerightTitleStyleflag namenormal value0 /flag namebold value1 /flag nameitalic value2 //attrattr namerightIcon formatreference /attr namerightIconWidth formatdimension /attr namerightIconHeight formatdimension /attr namerightIconPadding formatdimension /attr namerightIconTint formatcolor /attr namerightIconGravityflag nametop value0x30 /flag namebottom value0x50 /flag nameleft value0x03 /flag nameright value0x05 /flag namestart value0x00800003 /flag nameend value0x00800005 //attrattr namerightBackground formatreference|color /attr namerightForeground formatreference|color /attr namerightHorizontalPadding formatdimension /!-- 右边标题文本溢出处理模式 --attr namerightTitleOverflowModeenum namenone value0 /enum namestart value1 /enum namemiddle value2 /enum nameend value3 /enum namemarquee value4 //attr!-- 分割线 --attr namelineVisible formatboolean /attr namelineDrawable formatreference|color /attr namelineSize formatdimension //declare-styleable
XML示例
点我查看完整的 Demo 示例
设置监听事件
titleBar.setOnTitleBarListener(new OnTitleBarListener() {Overridepublic void onLeftClick(TitleBar titleBar) {toast(左项 View 被点击);}Overridepublic void onTitleClick(TitleBar titleBar) {toast(中间 View 被点击);}Overridepublic void onRightClick(TitleBar titleBar) {toast(右项 View 被点击);}
});
统一 TitleBar 样式
如果对 TitleBar 的默认样式或者属性不满意可以在 Application 初始化的地方进行拦截并修改
public class XxxApplication extends Application {Overridepublic void onCreate() {super.onCreate();// 初始化 TitleBar 默认样式TitleBar.setDefaultStyle(new ITitleBarStyle());}
}
框架混淆规则
在混淆规则文件 proguard-rules.pro 中加入
-keep class com.hjq.bar.** {*;}
框架亮点
性能最佳不使用 LayoutInflater而使用代码创建 View 的形式体验最优TitleBar 默认样式效果已经非常好可下载 Demo 测试支持操控子控件可以在代码中获取 TitleBar 的子控件进行调用相关的 API兼容沉浸式状态栏兼容 Github 的沉浸式状态栏框架达到完全沉浸的效果框架兼容性良好本框架不依赖任何第三方库支持兼容所有的安卓版本支持全局配置样式可以在 Application 中初始化 TitleBar 样式达到一劳永逸的效果