diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..9466725 --- /dev/null +++ b/.github/FUNDING.yml @@ -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 diff --git a/.github/ISSUE_TEMPLATE/issue_template_bug.md b/.github/ISSUE_TEMPLATE/issue_template_bug.md new file mode 100644 index 0000000..677d4a5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue_template_bug.md @@ -0,0 +1,41 @@ +--- +name: 提交 Bug +about: 请告诉我框架存在的问题,我会协助你解决此问题! +labels: bug +assignees: getActivity + +--- + +## 问题描述 + +* 框架版本:XXX + +* 问题描述:XXX + +* 复现步骤:XXX + +* 是否必现:填是/否 + +* 手机信息:例如某米 9 / Android 10 + +## 请回答 + +* 是部分机型还是所有机型都会出现:部分/全部(例如:某为,某 Android 版本会出现) + +* 框架最新的版本是否存在这个问题:是/否(如果用的是旧版本的话,建议升级看问题是否还存在) + +* 是否已经查阅框架文档还未能解决的:是/否(文档会提供最常见的问题解答,可以看看是否有自己想要的) + +* issue 是否有人曾提过类似的问题:是/否(看看曾经有人提过类似的问题,先参考一下别人是怎么解决的) + +* 是否可以通过 Demo 来复现该问题:是/否(排查一下是不是自己的项目代码写得有问题导致的) + +* 使用原生 API 是否会出现该问题:是/否(排查一下是不是框架的代码写法存在问题导致的) + +## 其他 + +* 提供报错堆栈(如果有报错的话必填) + +* 提供截图或视频(根据需要提供,此项不强制) + +* 提供解决方案(如果已经解决了的话,此项不强制) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/issue_template_suggest.md b/.github/ISSUE_TEMPLATE/issue_template_suggest.md new file mode 100644 index 0000000..15bba88 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue_template_suggest.md @@ -0,0 +1,13 @@ +--- +name: 提交建议 +about: 请告诉我框架的不足之处,让我做得更好! +labels: bug +assignees: getActivity + +--- + +## 建议收集 + +* 你觉得框架有什么不足之处?(必答项,你可以描述框架有什么令你不满意的地方) + +* 你觉得该怎么去完善会比较好?(非必答项,你可以提供一下自己的想法或者做法供作者参考) \ No newline at end of file diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 0000000..311fc1d --- /dev/null +++ b/.github/workflows/android.yml @@ -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 diff --git a/Demo.jpg b/Demo.jpg deleted file mode 100644 index eb5731b..0000000 Binary files a/Demo.jpg and /dev/null differ diff --git a/README.md b/README.md index 1083274..0cd5436 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 被点击"); } }); ``` @@ -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轮子哥 diff --git a/TitleBar.apk b/TitleBar.apk deleted file mode 100644 index ae06790..0000000 Binary files a/TitleBar.apk and /dev/null differ diff --git a/app/build.gradle b/app/build.gradle index f2939e6..79e3e9f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 @@ -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' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 96bb15b..fdd3a02 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -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"> + android:exported="true" + android:launchMode="singleTop"> diff --git a/app/src/main/java/com/hjq/bar/demo/MainActivity.java b/app/src/main/java/com/hjq/bar/demo/MainActivity.java index 5e33de1..9e0adf1 100644 --- a/app/src/main/java/com/hjq/bar/demo/MainActivity.java +++ b/app/src/main/java/com/hjq/bar/demo/MainActivity.java @@ -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 被点击"); } }); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 6574319..18ab1a1 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -71,179 +71,248 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> - + android:layout_height="match_parent" > - + - + - + - + + + - + - + - + + + + + + + + + - + + + - + - + - + + + - + + + android:layout_marginTop="20dp" + app:leftIcon="@null" + app:title="右边两个按钮效果" > - + - + - + - + - + - - - + + + + + + + + + + + + + + + diff --git a/build.gradle b/build.gradle index dd4c74e..3ddc64c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ buildscript { repositories { // 阿里云云效仓库:https://maven.aliyun.com/mvn/guide - maven { url 'https://maven.aliyun.com/repository/jcenter' } + maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } // 华为开源镜像:https://mirrors.huaweicloud.com/ maven { url 'https://repo.huaweicloud.com/repository/maven/' } @@ -19,7 +19,7 @@ buildscript { allprojects { repositories { - maven { url 'https://maven.aliyun.com/repository/jcenter' } + maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://repo.huaweicloud.com/repository/maven/' } maven { url 'https://jitpack.io' } diff --git a/library/build.gradle b/library/build.gradle index d886530..5f04427 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,12 +1,18 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 30 + compileSdkVersion 31 defaultConfig { minSdkVersion 16 - versionCode 92 - versionName "9.2" + versionCode 93 + versionName "9.3" + } + + // 支持 JDK 1.8 + compileOptions { + targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_1_8 } android.libraryVariants.all { variant -> diff --git a/library/src/main/java/com/hjq/bar/ITitleBarStyle.java b/library/src/main/java/com/hjq/bar/ITitleBarStyle.java index a219a55..a514149 100644 --- a/library/src/main/java/com/hjq/bar/ITitleBarStyle.java +++ b/library/src/main/java/com/hjq/bar/ITitleBarStyle.java @@ -2,6 +2,7 @@ import android.content.Context; import android.content.res.ColorStateList; +import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.view.View; import android.widget.TextView; @@ -109,6 +110,39 @@ public interface ITitleBarStyle { */ float getRightTitleSize(Context context); + /** + * 获取标题的字体样式 + * + * @param style 文字样式 + * 常规:{@link Typeface#NORMAL} + * 粗体:{@link Typeface#BOLD} + * 斜体:{@link Typeface#ITALIC} + * 粗斜体:{@link Typeface#BOLD_ITALIC} + */ + Typeface getTitleTypeface(Context context, int style); + + /** + * 获取左标题的的字体样式 + * + * @param style 文字样式 + * 常规:{@link Typeface#NORMAL} + * 粗体:{@link Typeface#BOLD} + * 斜体:{@link Typeface#ITALIC} + * 粗斜体:{@link Typeface#BOLD_ITALIC} + */ + Typeface getLeftTitleTypeface(Context context, int style); + + /** + * 获取右标题的的字体样式 + * + * @param style 文字样式 + * 常规:{@link Typeface#NORMAL} + * 粗体:{@link Typeface#BOLD} + * 斜体:{@link Typeface#ITALIC} + * 粗斜体:{@link Typeface#BOLD_ITALIC} + */ + Typeface getRightTitleTypeface(Context context, int style); + /** * 获取标题的默认样式 */ diff --git a/library/src/main/java/com/hjq/bar/OnTitleBarListener.java b/library/src/main/java/com/hjq/bar/OnTitleBarListener.java index 895e287..2636e7d 100644 --- a/library/src/main/java/com/hjq/bar/OnTitleBarListener.java +++ b/library/src/main/java/com/hjq/bar/OnTitleBarListener.java @@ -12,22 +12,16 @@ public interface OnTitleBarListener { /** * 左项被点击 - * - * @param view 被点击的左项View */ - void onLeftClick(View view); + default void onLeftClick(TitleBar titleBar) {} /** * 标题被点击 - * - * @param view 被点击的标题View */ - void onTitleClick(View view); + default void onTitleClick(TitleBar titleBar) {} /** * 右项被点击 - * - * @param view 被点击的右项View */ - void onRightClick(View view); + default void onRightClick(TitleBar titleBar) {} } \ No newline at end of file diff --git a/library/src/main/java/com/hjq/bar/TitleBar.java b/library/src/main/java/com/hjq/bar/TitleBar.java index 956c060..f9a146e 100644 --- a/library/src/main/java/com/hjq/bar/TitleBar.java +++ b/library/src/main/java/com/hjq/bar/TitleBar.java @@ -191,15 +191,20 @@ public TitleBar(Context context, AttributeSet attrs, int defStyleAttr) { mCurrentStyle.getRightTitleSize(context)); // 文字样式设置 - setTitleStyle(array.hasValue(R.styleable.TitleBar_titleStyle) ? + int titleStyle = array.hasValue(R.styleable.TitleBar_titleStyle) ? array.getInt(R.styleable.TitleBar_titleStyle, Typeface.NORMAL) : - mCurrentStyle.getTitleStyle(context)); - setLeftTitleStyle(array.hasValue(R.styleable.TitleBar_leftTitleStyle) ? + mCurrentStyle.getTitleStyle(context); + setTitleStyle(mCurrentStyle.getTitleTypeface(context, titleStyle), titleStyle); + + int leftTitleStyle = array.hasValue(R.styleable.TitleBar_leftTitleStyle) ? array.getInt(R.styleable.TitleBar_leftTitleStyle, Typeface.NORMAL) : - mCurrentStyle.getLeftTitleStyle(context)); - setRightTitleStyle(array.hasValue(R.styleable.TitleBar_rightTitleStyle) ? + mCurrentStyle.getLeftTitleStyle(context); + setLeftTitleStyle(mCurrentStyle.getLeftTitleTypeface(context, leftTitleStyle), leftTitleStyle); + + int rightTitleStyle = array.hasValue(R.styleable.TitleBar_rightTitleStyle) ? array.getInt(R.styleable.TitleBar_rightTitleStyle, Typeface.NORMAL) : - mCurrentStyle.getRightTitleStyle(context)); + mCurrentStyle.getRightTitleStyle(context); + setRightTitleStyle(mCurrentStyle.getRightTitleTypeface(context, rightTitleStyle), rightTitleStyle); // 标题重心设置 if (array.hasValue(R.styleable.TitleBar_titleGravity)) { @@ -343,11 +348,11 @@ public void onClick(View view) { } if (view == mLeftView) { - mListener.onLeftClick(view); + mListener.onLeftClick(this); } else if (view == mRightView) { - mListener.onRightClick(view); + mListener.onRightClick(this); } else if (view == mTitleView) { - mListener.onTitleClick(view); + mListener.onTitleClick(this); } } @@ -434,42 +439,48 @@ public CharSequence getRightTitle() { return mRightView.getText(); } - /** - * 设置标题的文字样式 - */ public TitleBar setTitleStyle(int style) { - TitleBarSupport.setTextTypeface(mTitleView, style); - return this; + return setTitleStyle(TitleBarSupport.getTextTypeface(style), style); } + /** + * 设置标题样式 + * + * @param typeface 字体样式 + * @param style 文字样式 + */ public TitleBar setTitleStyle(Typeface typeface, int style) { mTitleView.setTypeface(typeface, style); return this; } - /** - * 设置左标题的文字样式 - */ public TitleBar setLeftTitleStyle(int style) { - TitleBarSupport.setTextTypeface(mLeftView, style); - return this; + return setLeftTitleStyle(TitleBarSupport.getTextTypeface(style), style); } + /** + * 设置左标题样式 + * + * @param typeface 字体样式 + * @param style 文字样式 + */ public TitleBar setLeftTitleStyle(Typeface typeface, int style) { - mLeftView.setTypeface(typeface); + mLeftView.setTypeface(typeface, style); return this; } - /** - * 设置右边标题的文字样式 - */ public TitleBar setRightTitleStyle(int style) { - TitleBarSupport.setTextTypeface(mRightView, style); - return this; + return setRightTitleStyle(TitleBarSupport.getTextTypeface(style), style); } + /** + * 设置右边标题样式 + * + * @param typeface 字体样式 + * @param style 文字样式 + */ public TitleBar setRightTitleStyle(Typeface typeface, int style) { - mRightView.setTypeface(typeface); + mRightView.setTypeface(typeface, style); return this; } diff --git a/library/src/main/java/com/hjq/bar/TitleBarSupport.java b/library/src/main/java/com/hjq/bar/TitleBarSupport.java index c07afe1..5723b92 100644 --- a/library/src/main/java/com/hjq/bar/TitleBarSupport.java +++ b/library/src/main/java/com/hjq/bar/TitleBarSupport.java @@ -186,22 +186,18 @@ public static void setTextCompoundDrawable(TextView textView, Drawable drawable, } /** - * 设置 TextView 字体样式 + * 根据文字样式返回不同的字体样式 */ - public static void setTextTypeface(TextView textView, int style) { + public static Typeface getTextTypeface(int style) { switch (style) { - case Typeface.NORMAL: - textView.setTypeface(Typeface.DEFAULT, style); - break; case Typeface.BOLD: - textView.setTypeface(Typeface.DEFAULT_BOLD, style); - break; + return Typeface.DEFAULT_BOLD; case Typeface.ITALIC: case Typeface.BOLD_ITALIC: - textView.setTypeface(Typeface.MONOSPACE, style); - break; + return Typeface.MONOSPACE; + case Typeface.NORMAL: default: - break; + return Typeface.DEFAULT; } } } \ No newline at end of file diff --git a/library/src/main/java/com/hjq/bar/style/CommonBarStyle.java b/library/src/main/java/com/hjq/bar/style/CommonBarStyle.java index c0eba7f..54a65fa 100644 --- a/library/src/main/java/com/hjq/bar/style/CommonBarStyle.java +++ b/library/src/main/java/com/hjq/bar/style/CommonBarStyle.java @@ -12,6 +12,7 @@ import android.widget.TextView; import com.hjq.bar.ITitleBarStyle; +import com.hjq.bar.TitleBarSupport; /** * author : Android 轮子哥 @@ -129,6 +130,21 @@ public float getRightTitleSize(Context context) { return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 14, context.getResources().getDisplayMetrics()); } + @Override + public Typeface getTitleTypeface(Context context, int style) { + return TitleBarSupport.getTextTypeface(style); + } + + @Override + public Typeface getLeftTitleTypeface(Context context, int style) { + return TitleBarSupport.getTextTypeface(style); + } + + @Override + public Typeface getRightTitleTypeface(Context context, int style) { + return TitleBarSupport.getTextTypeface(style); + } + @Override public int getTitleStyle(Context context) { return Typeface.NORMAL; diff --git a/picture/demo.jpg b/picture/demo.jpg new file mode 100644 index 0000000..57dd3ec Binary files /dev/null and b/picture/demo.jpg differ diff --git a/picture/demo_code.png b/picture/demo_code.png new file mode 100644 index 0000000..b65a566 Binary files /dev/null and b/picture/demo_code.png differ diff --git a/TitleBar.gif b/picture/dynamic_figure.gif similarity index 100% rename from TitleBar.gif rename to picture/dynamic_figure.gif