1、 加载动画圈实现

<ProgressBar         android:id="@+id/main_head_progress"         style="@style/loading_small"        android:layout_toRightOf="@id/main_head_title"        android:layout_centerVertical="true"        android:layout_marginLeft="5.0dip"        android:visibility="gone"/>
@style/loading_small
<item name="android:indeterminateDrawable">@anim/loading</item>

@anim/loading
<?xml version="1.0" encoding="UTF-8"?><animation-list android:oneshot="false"    xmlns:android="http://schemas.android.com/apk/res/android">    <item android:duration="100" android:drawable="@drawable/loading_0" />    <item android:duration="100" android:drawable="@drawable/loading_1" />    <item android:duration="100" android:drawable="@drawable/loading_2" />    <item android:duration="100" android:drawable="@drawable/loading_3" />    <item android:duration="100" android:drawable="@drawable/loading_4" />    <item android:duration="100" android:drawable="@drawable/loading_5" />    <item android:duration="100" android:drawable="@drawable/loading_6" />    <item android:duration="100" android:drawable="@drawable/loading_7" /></animation-list> 


显示:Progress.setVisibility(ProgressBar.VISIBLE);

消失:Progress.setVisibility(ProgressBar.GONE);

工具类StringUtil:

public class StringUtils {    private final static Pattern emailer = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");    //private final static SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    //private final static SimpleDateFormat dateFormater2 = new SimpleDateFormat("yyyy-MM-dd");        private final static ThreadLocal<SimpleDateFormat> dateFormater = new ThreadLocal<SimpleDateFormat>() {        @Override        protected SimpleDateFormat initialValue() {            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        }    };    private final static ThreadLocal<SimpleDateFormat> dateFormater2 = new ThreadLocal<SimpleDateFormat>() {        @Override        protected SimpleDateFormat initialValue() {            return new SimpleDateFormat("yyyy-MM-dd");        }    };        /**     * 将字符串转位日期类型     * @param sdate  sdate的样式:2013-09-23 17:10:35
     * @return     */    public static Date toDate(String sdate) {        try {            return dateFormater.get().parse(sdate);        } catch (ParseException e) {            return null;        }    }        /**     * 以友好的方式显示时间     * @param sdate     * @return     */    public static String friendly_time(String sdate) {        Date time = toDate(sdate);        if(time == null) {            return "Unknown";        }        String ftime = "";        Calendar cal = Calendar.getInstance();                //判断是否是同一天        String curDate = dateFormater2.get().format(cal.getTime());        String paramDate = dateFormater2.get().format(time);        if(curDate.equals(paramDate)){            int hour = (int)((cal.getTimeInMillis() - time.getTime())/3600000);            if(hour == 0)                ftime = Math.max((cal.getTimeInMillis() - time.getTime()) / 60000,1)+"分钟前";            else                 ftime = hour+"小时前";            return ftime;        }                long lt = time.getTime()/86400000;        long ct = cal.getTimeInMillis()/86400000;        int days = (int)(ct - lt);                if(days == 0){            int hour = (int)((cal.getTimeInMillis() - time.getTime())/3600000);            if(hour == 0)                ftime = Math.max((cal.getTimeInMillis() - time.getTime()) / 60000,1)+"分钟前";            else                 ftime = hour+"小时前";        }        else if(days == 1){            ftime = "昨天";        }        else if(days == 2){            ftime = "前天";        }        else if(days > 2 && days <= 10){             ftime = days+"天前";                    }        else if(days > 10){                        ftime = dateFormater2.get().format(time);        }        return ftime;    }        /**     * 判断给定字符串时间是否为今日     * @param sdate     * @return boolean     */    public static boolean isToday(String sdate){        boolean b = false;        Date time = toDate(sdate);        Date today = new Date();        if(time != null){            String nowDate = dateFormater2.get().format(today);            String timeDate = dateFormater2.get().format(time);            if(nowDate.equals(timeDate)){                b = true;            }        }        return b;    }        /**     * 判断给定字符串是否空白串。     * 空白串是指由空格、制表符、回车符、换行符组成的字符串     * 若输入字符串为null或空字符串,返回true     * @param input     * @return boolean     */    public static boolean isEmpty( String input )     {        if ( input == null || "".equals( input ) )            return true;                for ( int i = 0; i < input.length(); i++ )         {            char c = input.charAt( i );            if ( c != ' ' && c != '\t' && c != '\r' && c != '\n' )            {                return false;            }        }        return true;    }    /**     * 判断是不是一个合法的电子邮件地址     * @param email     * @return     */    public static boolean isEmail(String email){        if(email == null || email.trim().length()==0)             return false;        return emailer.matcher(email).matches();    }    /**     * 字符串转整数     * @param str     * @param defValue     * @return     */    public static int toInt(String str, int defValue) {        try{            return Integer.parseInt(str);        }catch(Exception e){}        return defValue;    }    /**     * 对象转整数     * @param obj     * @return 转换异常返回 0     */    public static int toInt(Object obj) {        if(obj==null) return 0;        return toInt(obj.toString(),0);    }    /**     * 对象转整数     * @param obj     * @return 转换异常返回 0     */    public static long toLong(String obj) {        try{            return Long.parseLong(obj);        }catch(Exception e){}        return 0;    }    /**     * 字符串转布尔值     * @param b     * @return 转换异常返回 false     */    public static boolean toBool(String b) {        try{            return Boolean.parseBoolean(b);        }catch(Exception e){}        return false;    }}

更多相关文章

  1. 解决 ASP.NET Core MySql varchar 字符串截取实例教程
  2. 字符串分割的使用实例代码
  3. C#中如何格式化json字符串的方法分析
  4. Asp.net MVC 对输入的字符串字段做Trim处理的方法_实用技巧
  5. Asp.net MVC 对用户输入的字符串做Trim处理的方法实例
  6. 分享基于字符串加密的MD5算法实例代码
  7. asp如何解析json字符串并转化为asp对象
  8. C#实现操作字符串的方法总结
  9. 正则表达式模式匹配字符串基础知识_正则表达式

随机推荐

  1. Android各种访问权限Permission详解
  2. Retrofit系列文章翻译7—在请求体里发送
  3. Windows下安装Android(安卓)SDK与USB驱动
  4. android消息推送-XMPP
  5. Qt on Android:图文详解Hello World全过程
  6. Android推送方式比较
  7. Android(安卓)学习笔记 —— Android(安
  8. CardView 添加背景图片、改变颜色、水波
  9. Android之Android(安卓)apk动态加载机制
  10. Android设置TextView的渐变颜色、方向和