在日常的Android
开发当中,我们肯定实现应用的头部栏需求。在这篇博客当中,我分享一个我常用的TitleBar
开源库,希望能帮小伙伴们提高开发效率。
引入项目
Gradle 配置是在7.0
以下,需要在项目级别的build.gradle
文件中加入
allprojects {
repositories {
// JitPack 远程仓库:https://jitpack.io
maven { url 'https://jitpack.io' }
}
}
Gradle 配置是在7.0
以上,需要在项目的settings.gradle
文件中加入
dependencyResolutionManagement {
repositories {
// JitPack 远程仓库:https://jitpack.io
maven { url 'https://jitpack.io' }
}
}
最后在项目app
模块下的build.gradle
文件中加入:
android {
// 支持 JDK 1.8
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
// 标题栏框架:https://github.com/getActivity/TitleBar
implementation 'com.github.getActivity:TitleBar:9.5'
}
开源库的特点
- 性能最佳:不使用 LayoutInflater,而使用代码创建 View 的形式
- 体验最优:TitleBar 默认样式效果已经非常好,可下载 Demo 测试
- 支持操控子控件:可以在代码中获取 TitleBar 的子控件进行调用相关的 API
- 兼容沉浸式状态栏:兼容 Github 的沉浸式状态栏框架,达到完全沉浸的效果
- 框架兼容性良好:本框架不依赖任何第三方库,支持兼容所有的安卓版本
- 支持全局配置样式:可以在 Application 中初始化 TitleBar 样式,达到一劳永逸的效果
使用示例
XML的使用:
<com.hjq.bar.TitleBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:title="默认的标题栏" />
代码中实现点击事件监听:
titleBar.setOnTitleBarListener(new OnTitleBarListener() {
@Override
public void onLeftClick(TitleBar titleBar) {
ToastUtils.show("左项 View 被点击");
}
@Override
public void onTitleClick(TitleBar titleBar) {
ToastUtils.show("中间 View 被点击");
}
@Override
public void onRightClick(TitleBar titleBar) {
ToastUtils.show("右项 View 被点击");
}
});
上面是简单的使用方法,更多定制化的需求需要自己去探索一下。一般情况下能满足我们大部分的需求。