diff --git a/README.md b/README.md index 99ab88a..7ac5a08 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # SiberiaDanteLib ->#### 旨在打造一款属于Android开发的强大工具库(部分代码资料来源网络,如有侵权,联系[本人](https://github.com/SiberiaDante/SiberiaDanteLib/blob/6501f32b327dfe511978d7aacef69b145e5a7a0f/ABOUTME.md)删除。持续更新维护中……) +>#### 旨在打造一款属于Android开发的强大工具库(部分代码资料来源网络,如有侵权,联系[本人](https://github.com/SiberiaDante/SiberiaDanteLib/blob/d30aec89d5a4972db5ee018a0f9127641b18f8a0/doc/ABOUTME.md)删除。持续更新维护中……) >#### 项目包含library和sample,每个library中的工具类都在sample中作了测试,使用中也可以参考sample. >#### sample已内置Fragment懒加载、侧滑返回等许多主流技术 >#### 所有util、view本人都经过亲测,可用,如遇到bug,烦请提交[Issuses](https://github.com/SiberiaDante/SiberiaDanteLib/issues),万分感谢 -[体验sample-apk]() +[体验sample-apk](https://github.com/SiberiaDante/SiberiaDanteLib/tree/d30aec89d5a4972db5ee018a0f9127641b18f8a0/sample/sample-debug.apk) ## 推荐 >* [Android开发必备经典收藏集(整理中)] >* [TitleLayout——通用万能标题栏] @@ -16,67 +16,72 @@ dependencies { compile 'com.github.SibreiaDante:SiberiaDanteLib:v1.0.3' } ``` -> 使用说明 +## 使用说明 * 使用之前需要在Application中初始化SiberiaDanteLib.initLib(context); * 开启Debug模式:SiberiaDanteLib.setDebug(true); -> [版本更新说明](https://github.com/SiberiaDante/SiberiaDanteLib/blob/5a8051c462060e62fc78b47eb05c9b35cb8adc99/VERSION_UPDATE.md) +> [版本更新说明](https://github.com/SiberiaDante/SiberiaDanteLib/blob/d30aec89d5a4972db5ee018a0f9127641b18f8a0/doc/VERSION_UPDATE.md) ## view ### Dialog相关 -* [SDBottomDialog] :仿IOS底部弹出可拓展dialog -* [SDCustomDialog] :通用可自定义的dialog -* [SDEditDialog] :仿IOS弹出可编辑dialog -* [SDEnsureDialog] 常规提示确认dialog -* [SDEnsureSubDialog] 常规提示确认dialog,带标题,可设置log +* [SDBottomDialog] 仿IOS底部弹出可拓展dialog +* [SDCustomDialog] 通用可自定义的dialog +* [SDEditDialog] 仿IOS弹出可编辑dialog +* [SDEnsureDialog] 常规提示确认dialog +* [SDEnsureSubDialog] 常规提示确认dialog,带标题,可设置log * [NiceDialog] -* [PicassoCircleTransfer] :Picasso加载图片时将图片转换为圆形工具 -* [QQStepView] :自定义View实现仿QQ运动步数功能 +* [PicassoCircleTransfer] Picasso加载图片时将图片转换为圆形工具 +* [QQStepView] 自定义View实现仿QQ运动步数功能 ### 标题栏相关 -* [SDTitleBar] :常规的titleBar的封装,一般的titleBar均可([使用:SDTitleBar使用说明]) -* [SDTitleLayout] :常规的能够满足开发需求的标题栏的封装,一般的titleBar均可([使用:SDTitleLayout使用说明]) +* [SDTitleBar] 常规的titleBar的封装,一般的titleBar均可([使用:SDTitleBar使用说明]) +* [SDTitleLayout] 常规的能够满足开发需求的标题栏的封装,一般的titleBar均可([使用:SDTitleLayout使用说明]) ## widget -* [SDCenterAlignImageSpan] :图文混排对齐 -* [SDHexagonView] :正六边形TextView -* [SDLetterSpaceTextView] :可设置文字间距的TextView -* [SDRoundFrameLayout] :可在布局中直接设置shape相关的属性(背景颜色、角度等) -* [SDRoundImage] :圆形ImageView控件,直接在布局中使用 -* [SDRoundLinearLayout] :可在布局中直接设置shape相关的属性(背景颜色、角度等) -* [SDRoundRelativeLayout] :可在布局中直接设置shape相关的属性(背景颜色、角度等) -* [SDRoundTextView] :可在布局中直接设置shape相关的属性(背景颜色、角度等) -* [SDRadioButtom] :可设置图片大小的RadioButton -* [SuperTextView]:超酷炫的TextView,可以设置出各种特效文字(原文地址:http://www.jianshu.com/p/1b91e11e441d) -* [TabRadioButton] :可设置图片尺寸的RadioButton,适用于图文结合的RadioButton -* [JustifyTextView] :适用文字对齐,错乱修正等;原文地址:https://github.com/ufo22940268/android-justifiedtextview -* [PhotoViewPager] :可左右滑动照片查看器 +* [SDCenterAlignImageSpan] 图文混排对齐 +* [SDHexagonView] 正六边形TextView +* [SDLetterSpaceTextView] 可设置文字间距的TextView +* [SDRoundFrameLayout] 可在布局中直接设置shape相关的属性(背景颜色、角度等) +* [SDRoundImage] 圆形ImageView控件,直接在布局中使用 +* [SDRoundLinearLayout] 可在布局中直接设置shape相关的属性(背景颜色、角度等) +* [SDRoundRelativeLayout] 可在布局中直接设置shape相关的属性(背景颜色、角度等) +* [SDRoundTextView] 可在布局中直接设置shape相关的属性(背景颜色、角度等) +* [SDRadioButtom] 可设置图片大小的RadioButton +* [SuperTextView]超酷炫的TextView,可以设置出各种特效文字(原文地址:http://www.jianshu.com/p/1b91e11e441d) +* [TabRadioButton] 可设置图片尺寸的RadioButton,适用于图文结合的RadioButton +* [JustifyTextView] 适用文字对齐,错乱修正等;原文地址:https://github.com/ufo22940268/android-justifiedtextview +* [PhotoViewPager] 可左右滑动照片查看器 ## util(工具类详细说明文档看[Document_Util]) -* [SDActivityUtil] :页面工具类 -* [SDAppUtil] :获取应用、手机、安卓系统等信息,支持7.0的安装异常,需测试 -* [SDClearUtil] :清除缓存、数据等相关应用 -* [SDCloseUtil] :关闭相关工具类 +* [SDActivityUtil] 页面工具类 +* [SDAppUtil] 获取应用、手机、安卓系统等信息,支持7.0的安装异常,需测试 +* [SDClearUtil] 清除缓存、数据等相关应用 +* [SDCloseUtil] 关闭相关工具类 * [CrashHandler] -* [SDDateUtil] :时间、日期转换 -* [EncryptUtil] :加密算法相关工具类 -* [SDFileUtil] :文件处理相关工具类 -* [SDIntentUtil] :Intent相关工具类 -* [SDLogUtil] :日志打印控制工具类 -* [SDNetWorkUtil] :网络连接、类型等 -* [SDNumberUtil] :数字工具类 -* [ProcessUtil] -* [SDScreenUtil] :屏幕相关工具类 -* [SDStorageUtil] :SD卡以及存储相关工具类 -* [ShellUtils] -* [SDSPUtil] :SharedPreference的封装,用来储存数据([使用:sample/src/constants/AppInfo.java]) +* [SDDateUtil] 时间、日期转换 +* [SDEncryptUtil] 加密算法相关工具类 +* [SDFileUtil] 文件处理相关工具类 +* [SDIntentUtil] Intent相关工具类 +* [SDKeyBoardUtil] +* [SDLogUtil] 日志打印控制工具类 +* [SDMathUtil] +* [SDNetWorkUtil] 网络连接、类型等 +* [SDNumberUtil] 数字工具类 +* [SDProcessUtil] +* [SDScreenUtil] 屏幕相关工具类 +* [SDShellUtil] +* [SDSnackBarUtil] +* [SDSPUtil]SharedPreference的封装,用来储存数据([使用:sample/src/constants/AppInfo.java]) +* [SDStorageUtil]SD卡以及存储相关工具类 * [SDStringUtil] :字符处理相关工具类 -* [SDToast] :toast吐司工具类(看下代码自己就可以用Toast写出各种各样的界面) -* [SDTransitionUtil] :dp、px转换 +* [SDToast] toast吐司工具类(看下代码自己就可以用Toast写出各种各样的界面) +* [SDTransitionUtil] dp、px转换 +* [SpannableStringUtil] - 参考资料:https://github.com/Blankj/AndroidUtilCode + 参考:https://github.com/Blankj/AndroidUtilCode + [NiceDialog]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/view/dialog/NiceDialog.java @@ -110,17 +115,26 @@ dependencies { [SDAppUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDAppUtil.java [SDClearUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDClearUtil.java [SDCloseUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDCloseUtil.java +[SDCrashHandler]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDCrashHandler.java [SDDateUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDDateUtil.java -[EncryptUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/EncryptUtil.java +[SDEncryptUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDEncryptUtil.java [SDFileUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDFileUtil.java [SDIntentUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDIntentUtil.java +[SDKeyBoardUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDKeyBoardUtil.java [SDLogUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDLogUtil.java +[SDMathUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDMathUtil.java [SDNetWorkUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDNetWorkUtil.java [SDNumberUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/lib/util/SDNumberUtil.java +[SDProgressUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/lib/util/SDProgressUtil.java [SDScreenUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDScreenUtil.java +[SDShellUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDShellUtil.java +[SDSnackBarUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDSnackBarUtil.java +[SDSPUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDSPUtil.java +[SDStorageUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDStorageUtil.java [SDStringUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDStringUtil.java -[SDTransitionUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDTransitionUtil.java [SDToast]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDToast.java +[SDTransitionUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SDTransitionUtil.java +[SpannableStringUtil]:https://github.com/SibreiaDante/SiberiaDanteLib/blob/master/siberiadante/src/main/java/com/siberiadante/lib/util/SpannableStringUtil.java diff --git a/doc/ABOUTME.md b/doc/ABOUTME.md index 2258135..a6c26fd 100644 --- a/doc/ABOUTME.md +++ b/doc/ABOUTME.md @@ -4,6 +4,7 @@ * 邮箱:994537867@qq.com * [我的Github]: * [我的博客园] + * [我的微信公众号]:暂停运营 diff --git a/sample/sample-debug.apk b/sample/sample-debug.apk new file mode 100644 index 0000000..429284a Binary files /dev/null and b/sample/sample-debug.apk differ diff --git a/sample/src/main/java/com/sample/SampleApplication.java b/sample/src/main/java/com/sample/SampleApplication.java index d5eaca9..739b28f 100644 --- a/sample/src/main/java/com/sample/SampleApplication.java +++ b/sample/src/main/java/com/sample/SampleApplication.java @@ -5,8 +5,6 @@ import android.support.multidex.MultiDex; import com.siberiadante.lib.SiberiaDanteLib; -import com.squareup.leakcanary.LeakCanary; -//import com.squareup.leakcanary.LeakCanary; import java.util.LinkedList; import java.util.List; @@ -36,11 +34,11 @@ public void onCreate() { MultiDex.install(this); appContext = this; initSiberiaDanteLib(); - if (LeakCanary.isInAnalyzerProcess(this)) { - return; - } - LeakCanary.install(this); -// CrashHandler crashHandler = CrashHandler.getInstance(); +// if (LeakCanary.isInAnalyzerProcess(this)) { +// return; +// } +// LeakCanary.install(this); +// SDCrashHandler crashHandler = SDCrashHandler.getInstance(); // crashHandler.init(getApplicationContext()); } diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/SDAppUtil.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDAppUtil.java index fe77df5..11bad7e 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/SDAppUtil.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDAppUtil.java @@ -438,7 +438,7 @@ public static boolean isAppDebug(String packageName) { * @return {@code true}: 是
{@code false}: 否 */ public static boolean isAppRoot() { - ShellUtil.CommandResult result = ShellUtil.execCmd("echo root", true); + SDShellUtil.CommandResult result = SDShellUtil.execCmd("echo root", true); if (result.result == 0) { return true; } @@ -492,7 +492,7 @@ public static void unInstallApp(Activity activity, String packageName, int reque public static boolean uninstallAppSilent(String packageName, boolean isKeepData) { if (isSpace(packageName)) return false; String command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib pm uninstall " + (isKeepData ? "-k " : "") + packageName; - ShellUtil.CommandResult commandResult = ShellUtil.execCmd(command, !isSystemApp(), true); + SDShellUtil.CommandResult commandResult = SDShellUtil.execCmd(command, !isSystemApp(), true); return commandResult.successMsg != null && commandResult.successMsg.toLowerCase().contains("success"); } @@ -561,7 +561,7 @@ public static String getAppSignatureSHA1() { public static String getAppSignatureSHA1(String packageName) { Signature[] signature = getAppSignature(packageName); if (signature == null) return null; - return EncryptUtil.encryptSHA1ToString(signature[0].toByteArray()). + return SDEncryptUtil.encryptSHA1ToString(signature[0].toByteArray()). replaceAll("(?<=[0-9A-F]{2})[0-9A-F]{2}", ":$0"); } @@ -591,7 +591,7 @@ public static boolean isAppInForeground() { * @return {@code true}: 是
{@code false}: 否 */ public static boolean isAppInForeground(String packageName) { - return !isSpace(packageName) && packageName.equals(ProcessUtil.getForegroundProcessName()); + return !isSpace(packageName) && packageName.equals(SDProcessUtil.getForegroundProcessName()); } @@ -693,7 +693,7 @@ public static boolean installAppSilent(String filePath) { File file = SDFileUtil.getFileByPath(filePath); if (!SDFileUtil.isFileExists(file)) return false; String command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib pm install " + filePath; - ShellUtil.CommandResult commandResult = ShellUtil.execCmd(command, !isSystemApp(), true); + SDShellUtil.CommandResult commandResult = SDShellUtil.execCmd(command, !isSystemApp(), true); return commandResult.successMsg != null && commandResult.successMsg.toLowerCase().contains("success"); } //TODO 以上-待测试~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/CrashHandler.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDCrashHandler.java similarity index 95% rename from siberiadante/src/main/java/com/siberiadante/lib/util/CrashHandler.java rename to siberiadante/src/main/java/com/siberiadante/lib/util/SDCrashHandler.java index de35668..515ec38 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/CrashHandler.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDCrashHandler.java @@ -20,26 +20,26 @@ * @博客园: http://www.cnblogs.com/shen-hua/ */ -public class CrashHandler implements Thread.UncaughtExceptionHandler { +public class SDCrashHandler implements Thread.UncaughtExceptionHandler { //系统默认的UncaughtException处理类 private Thread.UncaughtExceptionHandler mDefaultHandler; //CrashHandler实例 - private static CrashHandler INSTANCE; + private static SDCrashHandler INSTANCE; //程序的Context对象 private Context mContext; //用来存储设备信息和异常信息 private Map infos = new HashMap(); - private CrashHandler() { + private SDCrashHandler() { } /** * 获取CrashHandler实例 ,单例模式 */ - public static CrashHandler getInstance() { + public static SDCrashHandler getInstance() { if (INSTANCE == null) - INSTANCE = new CrashHandler(); + INSTANCE = new SDCrashHandler(); return INSTANCE; } diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/EncryptUtil.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDEncryptUtil.java similarity index 99% rename from siberiadante/src/main/java/com/siberiadante/lib/util/EncryptUtil.java rename to siberiadante/src/main/java/com/siberiadante/lib/util/SDEncryptUtil.java index 16ca27a..c9d6d4a 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/EncryptUtil.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDEncryptUtil.java @@ -21,8 +21,8 @@ * Created by SiberiaDante on 2017/5/15. */ -public class EncryptUtil { - private static final String TAG = EncryptUtil.class.getSimpleName(); +public class SDEncryptUtil { + private static final String TAG = SDEncryptUtil.class.getSimpleName(); /** * MD2加密 diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/EncryptUtilTest.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDEncryptUtilTest.java similarity index 97% rename from siberiadante/src/main/java/com/siberiadante/lib/util/EncryptUtilTest.java rename to siberiadante/src/main/java/com/siberiadante/lib/util/SDEncryptUtilTest.java index 1f5a595..e230545 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/EncryptUtilTest.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDEncryptUtilTest.java @@ -17,12 +17,12 @@ * @GitHub: https://github.com/SiberiaDante */ -public class EncryptUtilTest { +public class SDEncryptUtilTest { static char hexdigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - private static final String TAG = EncryptUtilTest.class.getSimpleName(); + private static final String TAG = SDEncryptUtilTest.class.getSimpleName(); /** * @param str diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/SDNetWorkUtil.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDNetWorkUtil.java index b11adc4..b61690c 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/SDNetWorkUtil.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDNetWorkUtil.java @@ -280,7 +280,7 @@ public static boolean isAvailableByPing(String ip) { if (ip == null || ip.length() <= 0) { ip = "223.5.5.5";// 阿里巴巴公共ip } - ShellUtil.CommandResult result = ShellUtil.execCmd(String.format("ping -c 1 %s", ip), false); + SDShellUtil.CommandResult result = SDShellUtil.execCmd(String.format("ping -c 1 %s", ip), false); boolean ret = result.result == 0; if (result.errorMsg != null) { Log.d("NetworkUtils", "isAvailableByPing() called" + result.errorMsg); diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/ProcessUtil.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDProcessUtil.java similarity index 99% rename from siberiadante/src/main/java/com/siberiadante/lib/util/ProcessUtil.java rename to siberiadante/src/main/java/com/siberiadante/lib/util/SDProcessUtil.java index 5d51957..86e4c17 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/ProcessUtil.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDProcessUtil.java @@ -24,7 +24,7 @@ * Created by SiberiaDante on 2017/5/15. */ -public class ProcessUtil { +public class SDProcessUtil { /** diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/ShellUtil.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDShellUtil.java similarity index 98% rename from siberiadante/src/main/java/com/siberiadante/lib/util/ShellUtil.java rename to siberiadante/src/main/java/com/siberiadante/lib/util/SDShellUtil.java index dc4bb24..b9b5710 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/ShellUtil.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDShellUtil.java @@ -5,9 +5,9 @@ import java.io.InputStreamReader; import java.util.List; -public final class ShellUtil { +public final class SDShellUtil { - private ShellUtil() { + private SDShellUtil() { throw new UnsupportedOperationException("u can't instantiate me..."); } diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/SnackBarUtil.java b/siberiadante/src/main/java/com/siberiadante/lib/util/SDSnackBarUtil.java similarity index 85% rename from siberiadante/src/main/java/com/siberiadante/lib/util/SnackBarUtil.java rename to siberiadante/src/main/java/com/siberiadante/lib/util/SDSnackBarUtil.java index 4da22eb..ca9518c 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/SnackBarUtil.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/util/SDSnackBarUtil.java @@ -8,5 +8,5 @@ * @GitHub: https://github.com/SiberiaDante */ -public class SnackBarUtil { +public class SDSnackBarUtil { } diff --git a/siberiadante/src/main/java/com/siberiadante/lib/util/ShareUtil.java b/siberiadante/src/main/java/com/siberiadante/lib/util/ShareUtil.java deleted file mode 100644 index 8510e9d..0000000 --- a/siberiadante/src/main/java/com/siberiadante/lib/util/ShareUtil.java +++ /dev/null @@ -1,223 +0,0 @@ -package com.siberiadante.lib.util; - -/** - * @Created SiberiaDante - * @Describe: - * @Time: 2017/7/12 - * @Email: 994537867@qq.com - * @GitHub: https://github.com/SiberiaDante - */ - -public class ShareUtil { - - -// private static final String TAG = ShareUtil.class.getSimpleName(); -// private Activity mActivity; -// private String mThumb, mTitle, mSUrl, mDes; -// private int mType; -// private Bitmap mBmp; -// -// /** -// * -// * @param activity -// * @param thumb 分享缩略图 -// * @param title 分享的标题 -// * @param sUrl 分享的连接 -// * @param des 分享的描述 -// */ -// public ShareUtil(Activity activity, String thumb, String title, String sUrl, String des) { -// this.mActivity = activity; -// this.mThumb = thumb; -// this.mTitle = title; -// this.mSUrl = sUrl; -// this.mDes = des; -// } -// -// public void goToShareToQQ(int type) { -//// Tencent.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。 2 -//// Tencent.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮 1 -// final Bundle params = new Bundle(); -//// if (mType==1) { -//// mTargetScene = QQShare.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE; -//// } -// params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT); -// params.putString(QQShare.SHARE_TO_QQ_TITLE, mActivity.getResources().getString(R.string.app_name)); -// params.putString(QQShare.SHARE_TO_QQ_SUMMARY, mDes); -// params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, mSUrl); -// params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, mThumb); -// params.putString(QQShare.SHARE_TO_QQ_APP_NAME, mActivity.getResources().getString(R.string.app_name)); -// params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, type);//mType=1分享到空间 or mType=2分享到qq好友; -// mTencent.shareToQQ(mActivity, params, new BaseApiListener()); -// } -// -// public void goToShareToWeiBo() { -// if (mThumb.equals("")) { -// gotoShareToWB(); -// } else { -// gotoDownLoadSharePic(RequestCode.WB_DOWNLOAD_IMAGE_MESSAGE); -// } -// } -// -// /** -// * -// * @param type 0:微信好友;1:微信朋友圈;2:微信分享; -// */ -// public void goToShareToWeChat(int type) { -// this.mType = type; -// if (!XBLiveApplication.api.isWXAppInstalled()) { -// ToastUtils.toast(mActivity.getString(R.string.YourPhoneUnInstalledWeChat)); -// return; -// } -// if (XBLiveApplication.api == null) { -// XBLiveApplication.api = WXAPIFactory.createWXAPI(mActivity, Constants.WX_APP_ID, true); -// } -// if (mThumb.equals("")) { -// shareToWeChat(type); -// } else { -// gotoDownLoadSharePic(RequestCode.WX_DOWNLOAD_IMAGE_MESSAGE); -// } -// } -// -// private void shareToWeChat(int type) { -// /* -// 0:微信好友 -// 1:微信朋友圈 -// 2:微信分享 -// */ -// WXWebpageObject mWebPage = new WXWebpageObject(); -// mWebPage.webpageUrl = mSUrl; -// WXMediaMessage msg = new WXMediaMessage(mWebPage); -// if (type == SendMessageToWX.Req.WXSceneTimeline || type == SendMessageToWX.Req.WXSceneFavorite) { -// msg.title = mTitle; -// } else { -// msg.title = mTitle; -// msg.description = mDes; -// } -// if (mBmp == null || mThumb.equals("")) { -// mBmp = BitmapFactory.decodeResource(mActivity.getResources(), R.mipmap.icon_xb); -// } -// mBmp = Bitmap.createScaledBitmap(mBmp, 120, 120, true);//压缩Bitmap.微信分享图片不能超过64K -// -// msg.setThumbImage(mBmp); -// SendMessageToWX.Req req = new SendMessageToWX.Req(); -// req.transaction = buildTransaction("webpage"); -// req.message = msg; -// req.scene = type; -// XBLiveApplication.api.sendReq(req); -// } -// -// private String buildTransaction(final String type) { -// return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis(); -// } -// -// private void gotoDownLoadSharePic(final int message) { -// Log.d(TAG, "gotoDownLoadSharePic: " + mThumb); -// new Thread() { -// @Override -// public void run() { -// try { -// URL iconUrl = new URL(mThumb); -// URLConnection conn = iconUrl.openConnection(); -// HttpURLConnection http = (HttpURLConnection) conn; -// -// int length = http.getContentLength(); -// conn.connect(); -// // 获得图像的字符流 -// InputStream is = conn.getInputStream(); -// BufferedInputStream bis = new BufferedInputStream(is, length); -// mBmp = BitmapFactory.decodeStream(bis); -// bis.close(); -// is.close();// 关闭流 -// Log.d(TAG, "run: bmpbmpbmpbmpbmpbmpbmpbmpbmpbmp" + mBmp); -// if (message == RequestCode.WX_DOWNLOAD_IMAGE_MESSAGE) { -// shareToWeChat(mType); -// } else if (message == RequestCode.WB_DOWNLOAD_IMAGE_MESSAGE) { -// gotoShareToWB(); -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// }.start(); -// } -// -// private void gotoShareToWB() { -// if (mWeiboShareAPI.isWeiboAppSupportAPI()) { -// int supportApi = mWeiboShareAPI.getWeiboAppSupportAPI(); -// if (supportApi >= ApiUtils.BUILD_INT_VER_2_2 /*ApiUtils.BUILD_INT_VER_2_2*/) { -// //多条分享 -// sendMultiMessage(); -// } else { -// //单条分享 -// sendSingleMessage(); -// } -// } else { -// ToastUtils.toast("微博客户端不支持"); -// } -// } -// -// private void sendMultiMessage() { -// WeiboMultiMessage weiboMessage = new WeiboMultiMessage(); -// weiboMessage.mediaObject = getWebpageObj(); -// weiboMessage.textObject = getTextObj(); -// weiboMessage.imageObject = getImageObj(); -// -// // 2. 初始化从第三方到微博的消息请求 -// SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest(); -// // 用transaction唯一标识一个请求 -// request.transaction = String.valueOf(System.currentTimeMillis()); -// request.multiMessage = weiboMessage; -// mWeiboShareAPI.sendRequest(mActivity, request); -// } -// -// private void sendSingleMessage() { -// WeiboMessage weiboMessage = new WeiboMessage(); -// weiboMessage.mediaObject = getWebpageObj(); -// // 2. 初始化从第三方到微博的消息请求 -// SendMessageToWeiboRequest request = new SendMessageToWeiboRequest(); -// // 用transaction唯一标识一个请求 -// request.transaction = String.valueOf(System.currentTimeMillis()); -// request.message = weiboMessage; -// // 3. 发送请求消息到微博,唤起微博分享界面 -// mWeiboShareAPI.sendRequest(mActivity, request); -// } -// -// private WebpageObject getWebpageObj() { -// WebpageObject mediaObject = new WebpageObject(); -// mediaObject.identify = Utility.generateGUID(); -// mediaObject.title = mActivity.getResources().getString(R.string.app_name); -// mediaObject.description = mTitle; -// if (mBmp == null) { -// mBmp = BitmapFactory.decodeResource(mActivity.getResources(), R.mipmap.icon_xb); -// } -// mBmp = Bitmap.createScaledBitmap(mBmp, 60, 60, true);//压缩Bitmap.微博分享图片不能超过32KB -// -// // bmp<32kb。 -// mediaObject.setThumbImage(mBmp); -// mediaObject.actionUrl = mSUrl; -//// mediaObject.defaultText = "_"; -// return mediaObject; -// } -// -// private TextObject getTextObj() { -// TextObject textObject = new TextObject(); -// textObject.text = mTitle; -// return textObject; -// } -// -// private ImageObject getImageObj() { -// ImageObject imageObject = new ImageObject(); -// if (mBmp == null || mThumb.equals("")) { -// mBmp = BitmapFactory.decodeResource(mActivity.getResources(), R.mipmap.icon_xb); -// } -// mBmp = Bitmap.createScaledBitmap(mBmp, 60, 60, true);//压缩Bitmap.微博分享图片不能超过32KB -// -// Log.d(TAG, "getImageObj: 2"); -// //设置缩略图。 注意:最终压缩过的缩略图大小不得超过 32kb。 -// imageObject.setImageObject(mBmp); -// return imageObject; -// } - - - -} diff --git a/siberiadante/src/main/java/com/siberiadante/lib/widget/SuperTextView.java b/siberiadante/src/main/java/com/siberiadante/lib/widget/SDSuperTextView.java similarity index 87% rename from siberiadante/src/main/java/com/siberiadante/lib/widget/SuperTextView.java rename to siberiadante/src/main/java/com/siberiadante/lib/widget/SDSuperTextView.java index 7efc283..4f965da 100644 --- a/siberiadante/src/main/java/com/siberiadante/lib/widget/SuperTextView.java +++ b/siberiadante/src/main/java/com/siberiadante/lib/widget/SDSuperTextView.java @@ -1,5 +1,6 @@ package com.siberiadante.lib.widget; +import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; @@ -27,7 +28,8 @@ * @GitHub: https://github.com/SiberiaDante */ -public class SuperTextView extends TextView { +@SuppressLint("AppCompatCustomView") +public class SDSuperTextView extends TextView { /* * Copyright (C) 2017 CoorChice @@ -105,24 +107,24 @@ public class SuperTextView extends TextView { private boolean shaderEnable; - public SuperTextView(Context context) { + public SDSuperTextView(Context context) { super(context); init(null); } - public SuperTextView(Context context, AttributeSet attrs) { + public SDSuperTextView(Context context, AttributeSet attrs) { super(context, attrs); init(attrs); } - public SuperTextView(Context context, AttributeSet attrs, int defStyleAttr) { + public SDSuperTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(attrs); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) - public SuperTextView(Context context, AttributeSet attrs, int defStyleAttr, - int defStyleRes) { + public SDSuperTextView(Context context, AttributeSet attrs, int defStyleAttr, + int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); init(attrs); } @@ -137,47 +139,47 @@ private void init(AttributeSet attrs) { private void initAttrs(AttributeSet attrs) { if (attrs != null) { TypedArray typedArray = - getContext().obtainStyledAttributes(attrs, R.styleable.SuperTextView); - corner = typedArray.getDimension(R.styleable.SuperTextView_corner, DEFAULT_CORNER); + getContext().obtainStyledAttributes(attrs, R.styleable.SDSuperTextView); + corner = typedArray.getDimension(R.styleable.SDSuperTextView_corner, DEFAULT_CORNER); leftTopCornerEnable = - typedArray.getBoolean(R.styleable.SuperTextView_left_top_corner, false); + typedArray.getBoolean(R.styleable.SDSuperTextView_left_top_corner, false); rightTopCornerEnable = - typedArray.getBoolean(R.styleable.SuperTextView_right_top_corner, false); + typedArray.getBoolean(R.styleable.SDSuperTextView_right_top_corner, false); leftBottomCornerEnable = - typedArray.getBoolean(R.styleable.SuperTextView_left_bottom_corner, false); + typedArray.getBoolean(R.styleable.SDSuperTextView_left_bottom_corner, false); rightBottomCornerEnable = - typedArray.getBoolean(R.styleable.SuperTextView_right_bottom_corner, false); - solid = typedArray.getColor(R.styleable.SuperTextView_solid, DEFAULT_SOLID); - strokeWidth = typedArray.getDimension(R.styleable.SuperTextView_stroke_width, + typedArray.getBoolean(R.styleable.SDSuperTextView_right_bottom_corner, false); + solid = typedArray.getColor(R.styleable.SDSuperTextView_solid, DEFAULT_SOLID); + strokeWidth = typedArray.getDimension(R.styleable.SDSuperTextView_stroke_width, DEFAULT_STROKE_WIDTH); strokeColor = - typedArray.getColor(R.styleable.SuperTextView_stroke_color, DEFAULT_STROKE_COLOR); - drawable = typedArray.getDrawable(R.styleable.SuperTextView_state_drawable); + typedArray.getColor(R.styleable.SDSuperTextView_stroke_color, DEFAULT_STROKE_COLOR); + drawable = typedArray.getDrawable(R.styleable.SDSuperTextView_state_drawable); drawableWidth = - typedArray.getDimension(R.styleable.SuperTextView_state_drawable_width, 0); + typedArray.getDimension(R.styleable.SDSuperTextView_state_drawable_width, 0); drawableHeight = - typedArray.getDimension(R.styleable.SuperTextView_state_drawable_height, 0); + typedArray.getDimension(R.styleable.SDSuperTextView_state_drawable_height, 0); drawablePaddingLeft = - typedArray.getDimension(R.styleable.SuperTextView_state_drawable_padding_left, 0); + typedArray.getDimension(R.styleable.SDSuperTextView_state_drawable_padding_left, 0); drawablePaddingTop = - typedArray.getDimension(R.styleable.SuperTextView_state_drawable_padding_top, 0); - isShowState = typedArray.getBoolean(R.styleable.SuperTextView_isShowState, false); - stateDrawableMode = typedArray.getInteger(R.styleable.SuperTextView_state_drawable_mode, + typedArray.getDimension(R.styleable.SDSuperTextView_state_drawable_padding_top, 0); + isShowState = typedArray.getBoolean(R.styleable.SDSuperTextView_isShowState, false); + stateDrawableMode = typedArray.getInteger(R.styleable.SDSuperTextView_state_drawable_mode, DEFAULT_STATE_DRAWABLE_MODE); - textStroke = typedArray.getBoolean(R.styleable.SuperTextView_text_stroke, false); - textStrokeColor = typedArray.getColor(R.styleable.SuperTextView_text_stroke_color, + textStroke = typedArray.getBoolean(R.styleable.SDSuperTextView_text_stroke, false); + textStrokeColor = typedArray.getColor(R.styleable.SDSuperTextView_text_stroke_color, DEFAULT_TEXT_STROKE_COLOR); - textFillColor = typedArray.getColor(R.styleable.SuperTextView_text_fill_color, + textFillColor = typedArray.getColor(R.styleable.SDSuperTextView_text_fill_color, DEFAULT_TEXT_FILL_COLOR); - textStrokeWidth = typedArray.getDimension(R.styleable.SuperTextView_text_stroke_width, + textStrokeWidth = typedArray.getDimension(R.styleable.SDSuperTextView_text_stroke_width, DEFAULT_TEXT_STROKE_WIDTH); - autoAdjust = typedArray.getBoolean(R.styleable.SuperTextView_autoAdjust, false); + autoAdjust = typedArray.getBoolean(R.styleable.SDSuperTextView_autoAdjust, false); shaderStartColor = - typedArray.getColor(R.styleable.SuperTextView_shaderStartColor, 0); + typedArray.getColor(R.styleable.SDSuperTextView_shaderStartColor, 0); shaderEndColor = - typedArray.getColor(R.styleable.SuperTextView_shaderEndColor, 0); - shaderMode = typedArray.getInteger(R.styleable.SuperTextView_shaderMode, 0); - shaderEnable = typedArray.getBoolean(R.styleable.SuperTextView_shaderEnable, false); + typedArray.getColor(R.styleable.SDSuperTextView_shaderEndColor, 0); + shaderMode = typedArray.getInteger(R.styleable.SDSuperTextView_shaderMode, 0); + shaderEnable = typedArray.getBoolean(R.styleable.SDSuperTextView_shaderEnable, false); typedArray.recycle(); } } @@ -458,7 +460,7 @@ public float getCorner() { * @param corner 圆角大小,默认值为0。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setCorner(float corner) { + public SDSuperTextView setCorner(float corner) { this.corner = corner; postInvalidate(); @@ -476,7 +478,7 @@ public int getSolid() { * @param solid 控件填充颜色, 默认为{@link Color#TRANSPARENT}。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setSolid(int solid) { + public SDSuperTextView setSolid(int solid) { this.solid = solid; postInvalidate(); @@ -494,7 +496,7 @@ public float getStrokeWidth() { * @param strokeWidth 描边宽度。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setStrokeWidth(float strokeWidth) { + public SDSuperTextView setStrokeWidth(float strokeWidth) { this.strokeWidth = strokeWidth; postInvalidate(); @@ -512,7 +514,7 @@ public int getStrokeColor() { * @param strokeColor 描边颜色。默认为{@link Color#BLACK}。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setStrokeColor(int strokeColor) { + public SDSuperTextView setStrokeColor(int strokeColor) { this.strokeColor = strokeColor; postInvalidate(); @@ -523,7 +525,7 @@ public SuperTextView setStrokeColor(int strokeColor) { * @param adjuster 设置Adjuster。{@link Adjuster}。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setAdjuster(Adjuster adjuster) { + public SDSuperTextView setAdjuster(Adjuster adjuster) { this.adjuster = adjuster; postInvalidate(); @@ -548,7 +550,7 @@ public boolean isTextStroke() { * @param textStroke true表示开启文字描边。默认为false。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setTextStroke(boolean textStroke) { + public SDSuperTextView setTextStroke(boolean textStroke) { this.textStroke = textStroke; postInvalidate(); @@ -566,7 +568,7 @@ public int getTextStrokeColor() { * @param textStrokeColor 设置文字描边的颜色。默认为{@link Color#BLACK}。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setTextStrokeColor(int textStrokeColor) { + public SDSuperTextView setTextStrokeColor(int textStrokeColor) { this.textStrokeColor = textStrokeColor; postInvalidate(); @@ -584,7 +586,7 @@ public int getTextFillColor() { * @param textFillColor 设置文字填充颜色。默认为{@link Color#BLACK}。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setTextFillColor(int textFillColor) { + public SDSuperTextView setTextFillColor(int textFillColor) { this.textFillColor = textFillColor; postInvalidate(); @@ -602,7 +604,7 @@ public float getTextStrokeWidth() { * @param textStrokeWidth 设置文字描边宽度。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setTextStrokeWidth(float textStrokeWidth) { + public SDSuperTextView setTextStrokeWidth(float textStrokeWidth) { this.textStrokeWidth = textStrokeWidth; postInvalidate(); @@ -620,7 +622,7 @@ public boolean isAutoAdjust() { * @param autoAdjust true开启Adjuster功能。反之,关闭。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setAutoAdjust(boolean autoAdjust) { + public SDSuperTextView setAutoAdjust(boolean autoAdjust) { this.autoAdjust = autoAdjust; postInvalidate(); @@ -638,7 +640,7 @@ public boolean isLeftTopCornerEnable() { * @param leftTopCornerEnable true左上角圆角化。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setLeftTopCornerEnable(boolean leftTopCornerEnable) { + public SDSuperTextView setLeftTopCornerEnable(boolean leftTopCornerEnable) { this.leftTopCornerEnable = leftTopCornerEnable; postInvalidate(); @@ -656,7 +658,7 @@ public boolean isRightTopCornerEnable() { * @param rightTopCornerEnable true右上角圆角化。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setRightTopCornerEnable(boolean rightTopCornerEnable) { + public SDSuperTextView setRightTopCornerEnable(boolean rightTopCornerEnable) { this.rightTopCornerEnable = rightTopCornerEnable; postInvalidate(); @@ -674,7 +676,7 @@ public boolean isLeftBottomCornerEnable() { * @param leftBottomCornerEnable true左下角圆角化。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setLeftBottomCornerEnable(boolean leftBottomCornerEnable) { + public SDSuperTextView setLeftBottomCornerEnable(boolean leftBottomCornerEnable) { this.leftBottomCornerEnable = leftBottomCornerEnable; postInvalidate(); @@ -692,7 +694,7 @@ public boolean isRightBottomCornerEnable() { * @param rightBottomCornerEnable true右下角圆角化。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setRightBottomCornerEnable(boolean rightBottomCornerEnable) { + public SDSuperTextView setRightBottomCornerEnable(boolean rightBottomCornerEnable) { this.rightBottomCornerEnable = rightBottomCornerEnable; postInvalidate(); @@ -710,7 +712,7 @@ public Drawable getDrawable() { * @param drawable 设置状态图。需要调用isShowState(true)才能显示。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setDrawable(Drawable drawable) { + public SDSuperTextView setDrawable(Drawable drawable) { this.drawable = drawable; postInvalidate(); @@ -721,7 +723,7 @@ public SuperTextView setDrawable(Drawable drawable) { * @param drawableRes 使用drawable资源设置状态图。需要调用isShowState(true)才能显示。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setDrawable(int drawableRes) { + public SDSuperTextView setDrawable(int drawableRes) { this.drawable = getResources().getDrawable(drawableRes); postInvalidate(); @@ -739,7 +741,7 @@ public boolean isShowState() { * @param showState true,表示显示状态图。反之,不显示。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setShowState(boolean showState) { + public SDSuperTextView setShowState(boolean showState) { isShowState = showState; postInvalidate(); @@ -757,7 +759,7 @@ public int getStateDrawableMode() { * @param stateDrawableMode 设置状态图显示模式。默认为{@link DrawableMode#CENTER}。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setStateDrawableMode(int stateDrawableMode) { + public SDSuperTextView setStateDrawableMode(int stateDrawableMode) { this.stateDrawableMode = stateDrawableMode; postInvalidate(); @@ -775,7 +777,7 @@ public float getDrawableWidth() { * @param drawableWidth 设置状态图宽度。默认为控件的1/2。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setDrawableWidth(float drawableWidth) { + public SDSuperTextView setDrawableWidth(float drawableWidth) { this.drawableWidth = drawableWidth; postInvalidate(); @@ -793,7 +795,7 @@ public float getDrawableHeight() { * @param drawableHeight 设置状态图高度。默认为控件的1/2。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setDrawableHeight(float drawableHeight) { + public SDSuperTextView setDrawableHeight(float drawableHeight) { this.drawableHeight = drawableHeight; postInvalidate(); @@ -811,7 +813,7 @@ public float getDrawablePaddingLeft() { * @param drawablePaddingLeft 设置状态图相对于左边相对位置的左边距。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setDrawablePaddingLeft(float drawablePaddingLeft) { + public SDSuperTextView setDrawablePaddingLeft(float drawablePaddingLeft) { this.drawablePaddingLeft = drawablePaddingLeft; postInvalidate(); @@ -829,7 +831,7 @@ public float getDrawablePaddingTop() { * @param drawablePaddingTop 设置状态图相对于上边相对位置的上边距。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setDrawablePaddingTop(float drawablePaddingTop) { + public SDSuperTextView setDrawablePaddingTop(float drawablePaddingTop) { this.drawablePaddingTop = drawablePaddingTop; postInvalidate(); return this; @@ -843,10 +845,10 @@ public int getShaderStartColor() { } /** - * @param shaderStartColor 设置渐变起始色。需要调用{@link SuperTextView#setShaderEnable(boolean)}后才能生效。会触发一次重绘。 + * @param shaderStartColor 设置渐变起始色。需要调用{@link SDSuperTextView#setShaderEnable(boolean)}后才能生效。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setShaderStartColor(int shaderStartColor) { + public SDSuperTextView setShaderStartColor(int shaderStartColor) { this.shaderStartColor = shaderStartColor; shader = null; postInvalidate(); @@ -861,10 +863,10 @@ public int getShaderEndColor() { } /** - * @param shaderEndColor 设置渐变结束色。需要调用{@link SuperTextView#setShaderEnable(boolean)}后才能生效。会触发一次重绘。 + * @param shaderEndColor 设置渐变结束色。需要调用{@link SDSuperTextView#setShaderEnable(boolean)}后才能生效。会触发一次重绘。 * @return SuperTextView */ - public SuperTextView setShaderEndColor(int shaderEndColor) { + public SDSuperTextView setShaderEndColor(int shaderEndColor) { this.shaderEndColor = shaderEndColor; shader = null; postInvalidate(); @@ -882,7 +884,7 @@ public int getShaderMode() { * @param shaderMode 设置渐变模式。{@link ShaderMode}。 * @return SuperTextView */ - public SuperTextView setShaderMode(int shaderMode) { + public SDSuperTextView setShaderMode(int shaderMode) { this.shaderMode = shaderMode; shader = null; postInvalidate(); @@ -900,7 +902,7 @@ public boolean isShaderEnable() { * @param shaderEnable true启用渐变功能。反之,停用。 * @return SuperTextView */ - public SuperTextView setShaderEnable(boolean shaderEnable) { + public SDSuperTextView setShaderEnable(boolean shaderEnable) { this.shaderEnable = shaderEnable; postInvalidate(); return this; @@ -917,7 +919,7 @@ public int getFrameRate() { * @param frameRate 设置帧率,即每秒帧数。可在动画过程中随时改变。 * @return SuperTextView */ - public SuperTextView setFrameRate(int frameRate) { + public SDSuperTextView setFrameRate(int frameRate) { if (frameRate > 0) { this.frameRate = frameRate; } else { @@ -928,7 +930,7 @@ public SuperTextView setFrameRate(int frameRate) { /** - * 启动动画。需要设置{@link SuperTextView#setAutoAdjust(boolean)}为true才能看到。 + * 启动动画。需要设置{@link SDSuperTextView#setAutoAdjust(boolean)}为true才能看到。 */ public void startAnim() { checkWhetherNeedInitInvalidate(); @@ -1025,14 +1027,14 @@ public static abstract class Adjuster { * @param v SuperTextView * @param canvas 用于绘制的Canvas。注意对Canvas的变换最好使用图层,否则会影响后续的绘制。 */ - protected abstract void adjust(SuperTextView v, Canvas canvas); + protected abstract void adjust(SDSuperTextView v, Canvas canvas); /** * @param v SuperTextView * @param event 控件件接收到的触摸事件。 * @return 默认返回false。如果想持续的处理控件的触摸事件就返回true。否则,只能接收到{@link MotionEvent#ACTION_DOWN}事件。 */ - public boolean onTouch(SuperTextView v, MotionEvent event) { + public boolean onTouch(SDSuperTextView v, MotionEvent event) { return false; } @@ -1176,7 +1178,7 @@ public static ShaderMode valueOf(int code) { public static class DefaultAdjuster extends Adjuster { @Override - public void adjust(SuperTextView v, Canvas canvas) { + public void adjust(SDSuperTextView v, Canvas canvas) { int length = v.length(); float scale = v.getWidth() / (116.28f * v.getResources().getDisplayMetrics().density); float[] textSizes = { diff --git a/siberiadante/src/main/res/values-v12/styles_base.xml b/siberiadante/src/main/res/values-v12/styles_base.xml new file mode 100644 index 0000000..9591a94 --- /dev/null +++ b/siberiadante/src/main/res/values-v12/styles_base.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/siberiadante/src/main/res/values/attrs.xml b/siberiadante/src/main/res/values/attrs.xml index a32aafc..ac52a70 100644 --- a/siberiadante/src/main/res/values/attrs.xml +++ b/siberiadante/src/main/res/values/attrs.xml @@ -15,7 +15,7 @@ - + diff --git a/siberiadante/src/main/res/values/styles_base.xml b/siberiadante/src/main/res/values/styles_base.xml index 7d6068c..04a228b 100644 --- a/siberiadante/src/main/res/values/styles_base.xml +++ b/siberiadante/src/main/res/values/styles_base.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file