Skip to content

Commit

Permalink
新增支持设置第三方字体库
Browse files Browse the repository at this point in the history
修改标题栏监听器的回调参数
  • Loading branch information
getActivity committed Dec 11, 2021
1 parent cea859b commit b269e61
Show file tree
Hide file tree
Showing 21 changed files with 478 additions and 242 deletions.
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://raw.githubusercontent.com/getActivity/Donate/master/picture/pay_ali.png
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_template_bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: 提交 Bug
about: 请告诉我框架存在的问题,我会协助你解决此问题!
labels: bug
assignees: getActivity

---

## 问题描述

* 框架版本:XXX

* 问题描述:XXX

* 复现步骤:XXX

* 是否必现:填是/否

* 手机信息:例如某米 9 / Android 10

## 请回答

* 是部分机型还是所有机型都会出现:部分/全部(例如:某为,某 Android 版本会出现)

* 框架最新的版本是否存在这个问题:是/否(如果用的是旧版本的话,建议升级看问题是否还存在)

* 是否已经查阅框架文档还未能解决的:是/否(文档会提供最常见的问题解答,可以看看是否有自己想要的)

* issue 是否有人曾提过类似的问题:是/否(看看曾经有人提过类似的问题,先参考一下别人是怎么解决的)

* 是否可以通过 Demo 来复现该问题:是/否(排查一下是不是自己的项目代码写得有问题导致的)

* 使用原生 API 是否会出现该问题:是/否(排查一下是不是框架的代码写法存在问题导致的)

## 其他

* 提供报错堆栈(如果有报错的话必填)

* 提供截图或视频(根据需要提供,此项不强制)

* 提供解决方案(如果已经解决了的话,此项不强制)
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_template_suggest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
name: 提交建议
about: 请告诉我框架的不足之处,让我做得更好!
labels: bug
assignees: getActivity

---

## 建议收集

* 你觉得框架有什么不足之处?(必答项,你可以描述框架有什么令你不满意的地方)

* 你觉得该怎么去完善会比较好?(非必答项,你可以提供一下自己的想法或者做法供作者参考)
17 changes: 17 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Android CI

on: [push]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Gradle
run: ./gradlew build aR
Binary file removed Demo.jpg
Binary file not shown.
79 changes: 54 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,58 @@

* 博客地址:[Android标题栏(TitleBar)绝佳解决方案](https://www.jianshu.com/p/617be02dc265)

* 已投入公司项目多时,没有任何毛病,可胜任任何需求,[点击此处下载Demo](TitleBar.apk)
* 可以扫码下载 Demo 进行演示或者测试,如果扫码下载不了的,[点击此处可直接下载](https://github.com/getActivity/TitleBar/releases/download/9.3/TitleBar.apk)

![](picture/demo_code.png)

* 想了解实现原理的可以参考文章:[纯手工打造一个通用的标题栏 TitleBar](https://www.jianshu.com/p/ccf6506335e7)

![](TitleBar.gif)
![](picture/dynamic_figure.gif)

### 9.0 版本 XML 属性已经改头换面了,请尽快进行[适配](Adaptive.md)

#### 集成步骤

* 在项目根目录下的 `build.gradle` 文件中加入
* 如果你的项目 Gradle 配置是在 `7.0 以下`,需要在 `build.gradle` 文件中加入

```groovy
buildscript {
allprojects {
repositories {
// JitPack 远程仓库:https://jitpack.io
maven { url 'https://jitpack.io' }
}
}
allprojects {
```

* 如果你的 Gradle 配置是 `7.0 及以上`,则需要在 `settings.gradle` 文件中加入

```groovy
dependencyResolutionManagement {
repositories {
// JitPack 远程仓库:https://jitpack.io
maven { url 'https://jitpack.io' }
}
}
```

* 在项目 app 模块下的 `build.gradle` 文件中加入
* 配置完远程仓库后,在项目 app 模块下的 `build.gradle` 文件中加入远程依赖

```groovy
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.2'
implementation 'com.github.getActivity:TitleBar:9.3'
}
```

#### 属性大全,[如何适配旧版本的属性?](Adaptive.md)
#### 布局属性大全

```xml
<declare-styleable name="TitleBar">
Expand Down Expand Up @@ -149,26 +166,26 @@ dependencies {

* [点我查看完整的 Demo 示例](app/src/main/res/layout/activity_main.xml)

![](Demo.jpg)
![](picture/demo.jpg)

#### 设置监听事件

```java
mTitleBar.setOnTitleBarListener(new OnTitleBarListener() {
titleBar.setOnTitleBarListener(new OnTitleBarListener() {

@Override
public void onLeftClick(View view) {
ToastUtils.show("左项View被点击");
public void onLeftClick(TitleBar titleBar) {
ToastUtils.show("左项 View 被点击");
}

@Override
public void onTitleClick(View view) {
ToastUtils.show("中间View被点击");
public void onTitleClick(TitleBar titleBar) {
ToastUtils.show("中间 View 被点击");
}

@Override
public void onRightClick(View view) {
ToastUtils.show("右项View被点击");
public void onRightClick(TitleBar titleBar) {
ToastUtils.show("右项 View 被点击");
}
});
```
Expand Down Expand Up @@ -206,23 +223,35 @@ public class XxxApplication extends Application {

#### 作者的其他开源项目

* 安卓技术中台:[AndroidProject](https://github.com/getActivity/AndroidProject)
* 安卓技术中台:[AndroidProject](https://github.com/getActivity/AndroidProject) ![](https://img.shields.io/github/stars/getActivity/AndroidProject.svg) ![](https://img.shields.io/github/forks/getActivity/AndroidProject.svg)

* 安卓技术中台 Kt 版:[AndroidProject-Kotlin](https://github.com/getActivity/AndroidProject-Kotlin) ![](https://img.shields.io/github/stars/getActivity/AndroidProject-Kotlin.svg) ![](https://img.shields.io/github/forks/getActivity/AndroidProject-Kotlin.svg)

* 权限框架:[XXPermissions](https://github.com/getActivity/XXPermissions) ![](https://img.shields.io/github/stars/getActivity/XXPermissions.svg) ![](https://img.shields.io/github/forks/getActivity/XXPermissions.svg)

* 吐司框架:[ToastUtils](https://github.com/getActivity/ToastUtils) ![](https://img.shields.io/github/stars/getActivity/ToastUtils.svg) ![](https://img.shields.io/github/forks/getActivity/ToastUtils.svg)

* 网络框架:[EasyHttp](https://github.com/getActivity/EasyHttp) ![](https://img.shields.io/github/stars/getActivity/EasyHttp.svg) ![](https://img.shields.io/github/forks/getActivity/EasyHttp.svg)

* 悬浮窗框架:[XToast](https://github.com/getActivity/XToast) ![](https://img.shields.io/github/stars/getActivity/XToast.svg) ![](https://img.shields.io/github/forks/getActivity/XToast.svg)

* Shape 框架:[ShapeView](https://github.com/getActivity/ShapeView) ![](https://img.shields.io/github/stars/getActivity/ShapeView.svg) ![](https://img.shields.io/github/forks/getActivity/ShapeView.svg)

* 网络框架:[EasyHttp](https://github.com/getActivity/EasyHttp)
* 语种切换框架:[MultiLanguages](https://github.com/getActivity/MultiLanguages) ![](https://img.shields.io/github/stars/getActivity/MultiLanguages.svg) ![](https://img.shields.io/github/forks/getActivity/MultiLanguages.svg)

* 权限框架:[XXPermissions](https://github.com/getActivity/XXPermissions)
* Gson 解析容错:[GsonFactory](https://github.com/getActivity/GsonFactory) ![](https://img.shields.io/github/stars/getActivity/GsonFactory.svg) ![](https://img.shields.io/github/forks/getActivity/GsonFactory.svg)

* 吐司框架:[ToastUtils](https://github.com/getActivity/ToastUtils)
* 日志查看框架:[Logcat](https://github.com/getActivity/Logcat) ![](https://img.shields.io/github/stars/getActivity/Logcat.svg) ![](https://img.shields.io/github/forks/getActivity/Logcat.svg)

* 国际化框架:[MultiLanguages](https://github.com/getActivity/MultiLanguages)
* Android 版本适配:[AndroidVersionAdapter](https://github.com/getActivity/AndroidVersionAdapter) ![](https://img.shields.io/github/stars/getActivity/AndroidVersionAdapter.svg) ![](https://img.shields.io/github/forks/getActivity/AndroidVersionAdapter.svg)

* 悬浮窗框架:[XToast](https://github.com/getActivity/XToast)
* Android 代码规范:[AndroidCodeStandard](https://github.com/getActivity/AndroidCodeStandard) ![](https://img.shields.io/github/stars/getActivity/AndroidCodeStandard.svg) ![](https://img.shields.io/github/forks/getActivity/AndroidCodeStandard.svg)

* Shape 框架:[ShapeView](https://github.com/getActivity/ShapeView)
* Studio 精品插件:[StudioPlugins](https://github.com/getActivity/StudioPlugins) ![](https://img.shields.io/github/stars/getActivity/StudioPlugins.svg) ![](https://img.shields.io/github/forks/getActivity/StudioPlugins.svg)

* Gson 解析容错:[GsonFactory](https://github.com/getActivity/GsonFactory)
* 表情包大集合:[EmojiPackage](https://github.com/getActivity/EmojiPackage) ![](https://img.shields.io/github/stars/getActivity/EmojiPackage.svg) ![](https://img.shields.io/github/forks/getActivity/EmojiPackage.svg)

* 日志查看框架:[Logcat](https://github.com/getActivity/Logcat)
* 省市区 Json 数据:[ProvinceJson](https://github.com/getActivity/ProvinceJson) ![](https://img.shields.io/github/stars/getActivity/ProvinceJson.svg) ![](https://img.shields.io/github/forks/getActivity/ProvinceJson.svg)

#### 微信公众号:Android轮子哥

Expand Down
Binary file removed TitleBar.apk
Binary file not shown.
10 changes: 5 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 30
compileSdkVersion 31

defaultConfig {
applicationId "com.hjq.bar.demo"
minSdkVersion 17
targetSdkVersion 30
versionCode 92
versionName "9.2"
targetSdkVersion 31
versionCode 93
versionName "9.3"
}

// 支持 JDK 1.8
Expand Down Expand Up @@ -59,7 +59,7 @@ dependencies {
implementation 'com.google.android.material:material:1.4.0'

// 吐司工具类:https://github.com/getActivity/ToastUtils
implementation 'com.github.getActivity:ToastUtils:9.5'
implementation 'com.github.getActivity:ToastUtils:10.0'

// 内存泄漏捕捉:https://github.com/square/leakcanary
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
android:name=".AppApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<activity
android:name=".MainActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:launchMode="singleTop"
android:screenOrientation="portrait">
android:exported="true"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
Expand Down
12 changes: 5 additions & 7 deletions app/src/main/java/com/hjq/bar/demo/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,26 @@
*/
public final class MainActivity extends AppCompatActivity {

private TitleBar mTitleBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mTitleBar = findViewById(R.id.tb_main_bar);
mTitleBar.setOnTitleBarListener(new OnTitleBarListener() {
TitleBar titleBar = findViewById(R.id.tb_main_bar);
titleBar.setOnTitleBarListener(new OnTitleBarListener() {

@Override
public void onLeftClick(View view) {
public void onLeftClick(TitleBar titleBar) {
ToastUtils.show("左项 View 被点击");
}

@Override
public void onTitleClick(View view) {
public void onTitleClick(TitleBar titleBar) {
ToastUtils.show("中间 View 被点击");
}

@Override
public void onRightClick(View view) {
public void onRightClick(TitleBar titleBar) {
ToastUtils.show("右项 View 被点击");
}
});
Expand Down
Loading

0 comments on commit b269e61

Please sign in to comment.