Skip to content

Commit

Permalink
优化部分代码命名及注释
Browse files Browse the repository at this point in the history
新增支持设置外层是否可触摸
新增支持设置窗口背景阴影强度
  • Loading branch information
getActivity committed Oct 11, 2020
1 parent c6cf782 commit 49485ae
Show file tree
Hide file tree
Showing 11 changed files with 149 additions and 68 deletions.
64 changes: 34 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,38 +12,42 @@

#### 集成步骤

dependencies {
implementation 'com.hjq:xtoast:5.5'
}
```groovy
dependencies {
implementation 'com.hjq:xtoast:6.0'
}
```

#### 使用案例

// 传入 Application 对象表示设置成全局的
new XToast(XToastActivity.this)
.setView(R.layout.toast_hint)
// 设置成可拖拽的
//.setDraggable()
// 设置显示时长
.setDuration(1000)
// 设置动画样式
.setAnimStyle(android.R.style.Animation_Translucent)
.setImageDrawable(android.R.id.icon, R.mipmap.ic_dialog_tip_finish)
.setText(android.R.id.message, "点我消失")
.setOnClickListener(android.R.id.message, new OnClickListener<TextView>() {

@Override
public void onClick(XToast toast, TextView view) {
// 点击这个 View 后消失
toast.cancel();
// 跳转到某个Activity
// toast.startActivity(intent);
}
})
.show();

#### 混淆规则

-keep class com.hjq.xtoast.** {*;}
```java
// 传入 Application 对象表示设置成全局的
new XToast(XToastActivity.this)
.setView(R.layout.toast_hint)
// 设置成可拖拽的
//.setDraggable()
// 设置显示时长
.setDuration(1000)
// 设置动画样式
.setAnimStyle(android.R.style.Animation_Translucent)
// 设置外层不能被触摸
.setOutsideTouchable(false)
// 设置窗口背景阴影强度
.setBackgroundDimAmount(0.5f)
.setImageDrawable(android.R.id.icon, R.mipmap.ic_dialog_tip_finish)
.setText(android.R.id.message, "点我消失")
.setOnClickListener(android.R.id.message, new OnClickListener<TextView>() {

@Override
public void onClick(XToast toast, TextView view) {
// 点击这个 View 后消失
toast.cancel();
// 跳转到某个Activity
// toast.startActivity(intent);
}
})
.show();
```

#### 框架亮点(原生 Toast 无法实现的功能)

Expand All @@ -61,7 +65,7 @@

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

* 架构工程[AndroidProject](https://github.com/getActivity/AndroidProject)
* 安卓架构[AndroidProject](https://github.com/getActivity/AndroidProject)

* 网络框架:[EasyHttp](https://github.com/getActivity/EasyHttp)

Expand Down
Binary file modified XToast.apk
Binary file not shown.
13 changes: 7 additions & 6 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
applicationId "com.hjq.xtoast.demo"
minSdkVersion 14
targetSdkVersion 28
versionCode 55
versionName "5.5"
versionCode 60
versionName "6.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
Expand All @@ -21,17 +21,18 @@ android {

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation project(':library')

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'

// 权限请求框架:https://github.com/getActivity/XXPermissions
implementation 'com.hjq:xxpermissions:6.2'
// 标题栏:https://github.com/getActivity/TitleBar
implementation 'com.hjq:titlebar:6.0'
implementation 'com.hjq:xxpermissions:8.8'
// 标题栏框架:https://github.com/getActivity/TitleBar
implementation 'com.hjq:titlebar:8.0'
// 吐司工具类:https://github.com/getActivity/ToastUtils
implementation 'com.hjq:toast:8.2'
implementation 'com.hjq:toast:8.8'
// 内存泄漏捕捉:https://github.com/square/leakcanary
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.4'
}
10 changes: 8 additions & 2 deletions app/src/main/java/com/hjq/xtoast/demo/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ public void show5(View v) {
.setAnimStyle(android.R.style.Animation_Translucent)
.setImageDrawable(android.R.id.icon, R.mipmap.ic_dialog_tip_finish)
.setText(android.R.id.message, "点我消失")
// 设置外层不能被触摸
.setOutsideTouchable(false)
// 设置窗口背景阴影强度
.setBackgroundDimAmount(0.5f)
// 设置成可拖拽的
.setDraggable(new MovingDraggable())
.setOnClickListener(android.R.id.message, new OnClickListener<TextView>() {
Expand All @@ -123,7 +127,7 @@ public void show6(View v) {
.request(new OnPermission() {

@Override
public void hasPermission(List<String> granted, boolean isAll) {
public void hasPermission(List<String> granted, boolean all) {

// 传入 Application 表示这个是一个全局的 Toast
new XToast(getApplication())
Expand All @@ -141,13 +145,15 @@ public void onClick(XToast toast, ImageView view) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
toast.startActivity(intent);
// 安卓 10 在后台跳转 Activity 需要额外适配
// https://developer.android.google.cn/about/versions/10/privacy/changes#background-activity-starts
}
})
.show();
}

@Override
public void noPermission(List<String> denied, boolean quick) {
public void noPermission(List<String> denied, boolean never) {
new XToast(MainActivity.this)
.setDuration(1000)
.setView(R.layout.toast_hint)
Expand Down
12 changes: 6 additions & 6 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,47 +29,47 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:onClick="show1"
android:text="自定义Toast显示动画" />
android:text="自定义 Toast 显示动画" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:onClick="show2"
android:text="自定义Toast显示时长" />
android:text="自定义 Toast 显示时长" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:onClick="show3"
android:text="监听Toast生命周期" />
android:text="监听 Toast 生命周期" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:onClick="show4"
android:text="Toast响应点击事件" />
android:text="Toast 响应点击事件" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:onClick="show5"
android:text="可自由拖拽的Toast" />
android:text="可自由拖拽的 Toast" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:onClick="show6"
android:text="全局可拖拽的Toast" />
android:text="全局可拖拽的 Toast" />

<Button
android:layout_width="wrap_content"
Expand Down
9 changes: 4 additions & 5 deletions library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,20 @@ apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'

android {
compileSdkVersion 26
compileSdkVersion 29

defaultConfig {
minSdkVersion 14
targetSdkVersion 26
versionCode 55
versionName "5.5"
versionCode 60
versionName "6.0"
}
}

publish {
userOrg = 'getactivity'
groupId = 'com.hjq'
artifactId = 'xtoast'
version = '5.5'
version = '6.0'
description = 'This is a simple and easy to use suspension window frame'
website = "https://github.com/getActivity/XToast"
}
Expand Down
17 changes: 15 additions & 2 deletions library/src/main/java/com/hjq/xtoast/ToastLifecycle.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.app.Activity;
import android.app.Application;
import android.os.Build;
import android.os.Bundle;

/**
Expand All @@ -24,14 +25,26 @@ final class ToastLifecycle implements Application.ActivityLifecycleCallbacks {
* 注册监听
*/
void register() {
mActivity.getApplication().registerActivityLifecycleCallbacks(this);
if (mActivity != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
mActivity.registerActivityLifecycleCallbacks(this);
} else {
mActivity.getApplication().registerActivityLifecycleCallbacks(this);
}
}
}

/**
* 取消监听
*/
void unregister() {
mActivity.getApplication().unregisterActivityLifecycleCallbacks(this);
if (mActivity != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
mActivity.unregisterActivityLifecycleCallbacks(this);
} else {
mActivity.getApplication().unregisterActivityLifecycleCallbacks(this);
}
}
}

@Override
Expand Down
Loading

0 comments on commit 49485ae

Please sign in to comment.