zoukankan      html  css  js  c++  java
  • android 界面提示框架WisdomProgressHUD,为金典而生

    一:简述

    今天给android开发者们,推荐一个金典的界面提示框架WisdomProgressHUD,使用简洁方便。

    WisdomProgressHUD 是一个半透明的 HUD 指示器。 WisdomProgressHUD 是android 版SDK,由java编写,保证兼容性问题。

    全局HUD单列对象,支持属性动态调整, 支持延时调用,无需开发关心释放问题,是一个强大的HUD库,使用简介,操作方便。

    github 链接:https://github.com/tangjianfengVS/WisdomProgressHUD

    二:WisdomProgressHUD 支持类型

            1:  Default  (只有文字没有图片,默认使用) 

    Default

            2:  Succee    (有文字,有图片,成功提示) 

    Succee

            3:  Error    (有文字,有图片,失败提示)

    Error

            4:  Warning  (有文字,有图片,警告提示)

     
    Warning

            5:  Loading  (有文字,有图片,加载中提示)("Loading" 和上面的类型不同,是耗时任务,不会自动消灭任务,需要手动调用 'dismiss',结束回调任务也不会实现) 

    Loading

    三:WisdomProgressHUD 属性设置

        1:  static float HUDTextSize = 13

            说明: 提示时候的文字字体pd大小,设置最小值13号pd

        2:  static float HUDShowTime = 2500

            说明: 提示时候的界面显示时间,设置最小值1秒

        3:  task end handler task. (任务结束回调)

             public interface FinishHandler {     void finish();  }

        ......后面有待扩展


    四:WisdomProgressHUD 使用分类

        1:  在 "OnCreate" 中的调用:

            说明: 为了解决 android 机制不允许在 "OnCreate" 方法中向屏幕中添加UI问题,所以 "OnCreate"需要用到HUD,请调用 "startOnCreate" 方法。

        2:  普通使用:

            说明: 不在 "OnCreate" 中使用 "start" 方法。

        3:  延迟使用:

            说明:在当前时间延迟使用功能,调用 "after" 方法。

    五:WisdomProgressHUD 具体API,参数

            /**  ---- 1:   start show -----

            *  showState:        task type, defoult value 'Default'.      (任务类型)

            *  context :           'Context'  value.

            *  text:                     show textView title value.                    (文字) */

            public static void start(int showState, Context context, String text){  }

            /** ----2: start show with 'WisdomProgressHUD.FinishHandler'-----

            *  showState:        task type, defoult value 'Default'.      (任务类型)

            *  context :            'Context' value.

            *  text:                       show textView title value.                 (文字)

            *  finishHandler:    task end handler task.                      (任务结束回调) */

            public static void start(int showState, Context context, String text, WisdomProgressHUD.FinishHandler finishHandler){  }

            /** ---- 3: start show OnCreate -----

            *  Use the API when a prompt needs to be loaded in 'OnCreate'.(在 ‘OnCreate’ 中需要加载提示时使用API)

             *  showState:        task type, defoult value 'Default'.      (任务类型)

            *  context :             'Context'.

            *  text:                        show textView title value.                (文字)

            *  ViewGroup:        The 'Context' rootLayout.                (Context的底层布局) */

            public static void startOnCreate(int showState, Context context, String text, ViewGroup rootView){  }

            /** ---- 4:start show OnCreate with 'WisdomProgressHUD.FinishHandler' -----

            *  Use the API when a prompt needs to be loaded in 'OnCreate'.(在 ‘OnCreate’ 中需要加载提示时使用API)

            *  showState:         task type, defoult value 'Default'.      (任务类型)

            *  context :            'Context'.

            *  text:                       show textView title value.                (文字)

            *  ViewGroup:        The 'Context' rootLayout.                (Context的底层布局)

            *  finishHandler:    task end handler task.                     (任务结束回调)  */

            public static void startOnCreate(int showState, Context context, String text, ViewGroup rootView,    WisdomProgressHUD.FinishHandler finishHandler){  }

            /** ----- 5:  after task -----

            *  delay: after task time value. */

            public static void after(final int showState, final Context context, final String text, long delay){  }

            /** ----- 6:  after task -----

            *  delay: after task time value. */

            public static void after(final int showState, final Context context, final String text, final long delay, final WisdomProgressHUD.FinishHandler finishHandler){  }

            /** 7: dismiss(手动释放)*/

            public static void dismiss() {  }

    六:WisdomScreenUtils: 提供屏幕尺寸转换处理功能

                /**   根据手机的分辨率从 dp 的单位 转成为 px(像素) */

                public static int dip2px(Context context, float dpValue) { return (int) }

                /** 根据手机的分辨率从 px(像素) 的单位 转成为 dp  */

                public static int px2dip(Context context, float pxValue) { return (int) }

                /**  获取屏幕密度 */

                public static float getScreenDensity(Context context) { return float }

                /**  获取屏幕宽度(像素) */

                public static int getScreenWidthPixels(Context context) { return int }

                /**  获取屏幕宽度(dp) */

                public static float getScreenWidthDp(Context context) { return float }

                /**  获取屏幕高度(像素) */

                public static int getScreenHeightPixels(Context context) { return int }

                /**  获取屏幕高度(dp) */

                public static float getScreenHeightDp(Context context) { return float }

                /**  获取状态栏高度 */

                public static int getStatusHeight(Context context) { return int }

                /** 保存屏幕截图到本地

                *  @param activity

                *  @param strFileName 文件全路径:例如 "/sdcard/screen_shot_20160424.jpg"  */

                public static void savScreenShot(Activity activity, String strFileName) { }

                /** 截图

                  *  也可以调用shell命令去截图  screencap -p test.png

                  *  @param activity 截取activity 所在的页面的截图,即使退到后台也是截取这个activity */

                private static Bitmap takeShot(Activity activity) { return Bitmap }

    七: Android Studio SDK 集成:

                1: build.gradle 配置 'https://jitpack.io' :

                     allprojects {

                          repositories { maven { url 'https://jitpack.io' } }

                     }

                2: build.gradle 配置 'com.github.tangjianfengVS:WisdomProgressHUD:0.0.1' :

                  dependencies {

                        implementation 'com.github.tangjianfengVS:WisdomProgressHUD:0.0.1'

                  }

     

    八:结语:

          WisdomProgressHUD Android SDK,界面设计漂亮,并且是一款金典的HUD,并且支持屏蔽任务期间的用户交互。

          WisdomProgressHUD Android SDK,开发中使用方便,性能高效,自动管理生命周期,兼容'Oncreate'方法中调用,非常推荐给大家使用!

          如有问题欢迎来信讨论!

  • 相关阅读:
    Nginx 相关介绍(Nginx是什么?能干嘛?)
    springMVC源码学习之:springMVC响应请求的几种方法
    springMvc源码学习之:spirngMvc获取请求参数的方法
    java编程之:org.apache.commons.lang3.text.StrTokenizer
    java的nio之:java的nio的服务器实现模型
    java定时框架:表达式设置
    java的nio之:浅析I/O模型
    java的nio之:unix内核的五种I/O通信模型
    java的nio之:java的bio流下实现的socket服务器同步阻塞模型和socket的伪异步的socket服务器的通信模型
    java.lang.OutOfMemoryError: unable to create new native thread如何解决
  • 原文地址:https://www.cnblogs.com/tangjianfeng/p/11268769.html
Copyright © 2011-2022 走看看