最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android仿一點資訊收藏Toast動畫效果

 更新時間:2017年06月22日 15:31:28   作者:wangw-csdn  
這篇文章主要介紹了Android仿一點資訊收藏Toast動畫效果,效果非常不錯,具有參考借鑒價值,需要的朋友可以參考下

最近在做一個項,有一個收藏的功能。后來看到了一點資訊的收藏動畫,感覺不錯,所有自己就實現(xiàn)了一下。

這是效果:

附上完整的代碼,其中Animation_Toast為動畫:

<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;"></span></div><pre name="code" class="java">public class CollectToast { 
  private static CollectToast toastCollectSucceed = null; 
  private Toast toast = null; 
  private TextView text; 
  private CollectToast() {} 
  /** 
   * 單例模式 
   * 
   * @return 
   */ 
  public static CollectToast createToast() { 
    if (toastCollectSucceed == null) { 
      toastCollectSucceed = new CollectToast(); 
    } 
    return toastCollectSucceed; 
  } 
  /** 
   * 顯示Toast 
   * 
   * @param context 
   * @param root 
   * @param tvString 
   * @param result 是否成功 
   */ 
  public Toast showToast(Context context, ViewGroup root, String tvString, int duration, boolean result) { 
    toast = null; 
    int styleId = R.style.Animation_Toast; 
    if (toast == null) { 
      View layout = LayoutInflater.from(context).inflate(R.layout.toast_collect_layout, root); 
      text = (TextView) layout.findViewById(R.id.title_tv); 
      ImageView imageView = (ImageView) layout.findViewById(R.id.iv); 
      if (result) 
        imageView.setBackgroundDrawable(DrawableUtil.getImageDrawable(context, R.mipmap.doneicon_popup_textpage)); 
      else 
        imageView.setBackgroundDrawable(DrawableUtil.getImageDrawable(context, R.mipmap.close_popup_textpage)); 
      text.setText(tvString); 
      toast = new Toast(context); 
      toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); 
      toast.setDuration(duration); 
      toast.setView(layout); 
      toast.show(); 
    } else { 
      text.setText(tvString); 
      toast.show(); 
    } 
    //通過反射給Toast設置動畫 
    try { 
      Object mTN = null; 
      mTN = getField(toast, "mTN"); 
      if (mTN != null) { 
        Object mParams = getField(mTN, "mParams"); 
        if (mParams != null 
            && mParams instanceof WindowManager.LayoutParams) { 
          WindowManager.LayoutParams params = (WindowManager.LayoutParams) mParams; 
          params.windowAnimations = styleId; 
        } 
      } 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
    return toast; 
  } 
  /** 
   * 反射字段 
   * 
   * @param object  要反射的對象 
   * @param fieldName 要反射的字段名稱 
   * @return 
   * @throws NoSuchFieldException 
   * @throws IllegalAccessException 
   */ 
  private static Object getField(Object object, String fieldName) throws NoSuchFieldException, IllegalAccessException { 
    Field field = object.getClass().getDeclaredField(fieldName); 
    if (field != null) { 
      field.setAccessible(true); 
      return field.get(object); 
    } 
    return null; 
  } 
}</pre><br> 
<div style="text-align:left"><span style="font-family:Arial,Helvetica,sans-serif"></span></div> 
<pre></pre> 
<br> 
<br> 

相關文章

  • Android開發(fā)之基于RecycleView實現(xiàn)的頭部懸浮控件

    Android開發(fā)之基于RecycleView實現(xiàn)的頭部懸浮控件

    RecyclerView是一種類似于ListView的一個滑動列表,但是RecyclerView和ListView相比,RecyclerView比ListView更好,這篇文章重點給大家介紹基于RecycleView實現(xiàn)的頭部懸浮控件,感興趣的朋友一起看看吧
    2019-10-10
  • Android DataBinding手把手入門教程

    Android DataBinding手把手入門教程

    2015年谷歌I/O大會上介紹了一個框架DataBinding,DataBinding是一個數(shù)據綁定框架,以前我們在Activity里寫很多的findViewById,現(xiàn)在如果我們使用DataBinding,就可以拋棄findViewById
    2021-10-10
  • Android OpenGLES如何給相機添加濾鏡詳解

    Android OpenGLES如何給相機添加濾鏡詳解

    這篇文章主要給大家介紹了關于Android OpenGLES如何給相機添加濾鏡的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • Android應用保活實踐詳解

    Android應用保活實踐詳解

    這篇文章主要介紹了Android應用保活實踐詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • android activity設置無標題實現(xiàn)全屏

    android activity設置無標題實現(xiàn)全屏

    本文將詳細介紹Android如何設置Activity全屏和無標題的實現(xiàn)方法,需要的朋友可以參考下
    2012-12-12
  • Thread、Handler和HandlerThread關系詳解

    Thread、Handler和HandlerThread關系詳解

    這篇文章主要介紹了Thread、Handler和HandlerThread關系詳解的相關資料,需要的朋友可以參考下
    2016-09-09
  • Android開發(fā)實現(xiàn)的簡單媒體播放器功能示例

    Android開發(fā)實現(xiàn)的簡單媒體播放器功能示例

    這篇文章主要介紹了Android開發(fā)實現(xiàn)的簡單媒體播放器功能,結合實例形式分析了Android基于surfaceview實現(xiàn)多媒體視頻及音頻播放的相關操作技巧,需要的朋友可以參考下
    2017-10-10
  • 在Android系統(tǒng)中使用gzip進行數(shù)據傳遞實例代碼

    在Android系統(tǒng)中使用gzip進行數(shù)據傳遞實例代碼

    HTTP協(xié)議上的GZIP編碼是一種用來改進WEB應用程序性能的技術,4.4MB的文本數(shù)據經過Gzip傳輸?shù)娇蛻舳酥笞優(yōu)?92KB,壓縮效率極高,下面與大家分享下具體的實現(xiàn)
    2013-06-06
  • Android多渠道打包配置方案

    Android多渠道打包配置方案

    多渠道打包,顧名思義就是用來區(qū)分同一個軟件,在不同渠道上的釋放版本,目前我們有需求是要一套軟件代碼庫多個項目共同使用,針對不同的項目打包不同的渠道apk,現(xiàn)學記錄一下,需要的朋友跟著小編一起來學習吧
    2024-06-06
  • Android利用Xfermode剪裁圓角

    Android利用Xfermode剪裁圓角

    這篇文章主要為大家詳細介紹了Android利用Xfermode剪裁圓角,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論

洱源县| 乌拉特后旗| 原平市| 云阳县| 巴塘县| 长乐市| 营口市| 仙桃市| 中西区| 竹溪县| 吴桥县| 德州市| 景泰县| 抚松县| 泗水县| 道孚县| 山阳县| 清河县| 申扎县| 柳江县| 易门县| 名山县| 永城市| 大安市| 奉贤区| 唐海县| 西充县| 木兰县| 梁河县| 嵊泗县| 探索| 绥阳县| 政和县| 成武县| 梨树县| 龙陵县| 方山县| 奉新县| 克什克腾旗| 隆化县| 乡宁县|