Android开源:UIToast - 一个统一 APP Toast 样式的库

dlwdlw 8年前
   <h2>UIToast</h2>    <p>方便统一 Android APP Toast 风格</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/7c408e77727f0496e6ce9b6b8fb94831.gif"></p>    <h2>如何定制Toast全局样式?</h2>    <h3>第一步:</h3>    <p>values/colors.xml</p>    <pre>  <code class="language-java"><color name="colorToastTextColor">@android:color/white</color>  <color name="colorToastBackgroundColor">@color/colorPrimaryDark</color></code></pre>    <h3>第二步:</h3>    <p>values/styles.xml</p>    <pre>  <code class="language-java"><style name="AnimationToast">          <item name="android:windowEnterAnimation">@anim/toast_fade_enter</item>          <item name="android:windowExitAnimation">@anim/toast_fade_exit</item>      </style></code></pre>    <h3>第三步:</h3>    <p>UIToast.show...</p>    <pre>  <code class="language-java">UIToast.showStyleToast(this,res.getString(R.string.theme_color));</code></pre>    <h2>Gradle</h2>    <pre>  <code class="language-java">compile 'com.didikee:uitoast:0.1.0'</code></pre>    <h2>功能</h2>    <pre>  <code class="language-java">1. 自定义 Toast 字体颜色  2. 自定义 Toast 背景颜色  3. 自定义 Toast 展示位置(类似 Popupwindow 在某某下方(正下方水平居中)展示)  4. 自定义 Toast 进出场动画</code></pre>    <h2>代码调用示例:</h2>    <ol>     <li>默认系统样式:</li>    </ol>    <pre>  <code class="language-java">UIToast.showToast(this,res.getString(R.string.normal));</code></pre>    <ol>     <li>主题样式 你得先在xml配置好样式,包括颜色和动画,如果你不配置的话那默认会调用此libray中的样式</li>    </ol>    <pre>  <code class="language-java">UIToast.showStyleToast(this,res.getString(R.string.theme_color));</code></pre>    <ol>     <li>自定义Toast 颜色</li>    </ol>    <pre>  <code class="language-java">UIToast.showStyleToast(this,res.getString(R.string.custom_color),false, Color.GRAY,Color.GREEN, UIToast.NONE);</code></pre>    <ol>     <li>在屏幕中展示Toast(示例以屏幕左上角为参考系)</li>    </ol>    <pre>  <code class="language-java">UIToast.showLocationToast(this,res.getString(R.string.location_Screen),false,null, Gravity.START|Gravity.TOP,100,100);</code></pre>    <ol>     <li>在任意 View 正下方展示Toast(默认是在正下方,水平居中)</li>    </ol>    <pre>  <code class="language-java">UIToast.showLocationToast(this,res.getString(R.string.location_view),false,v, UIToast.NONE,0,0);</code></pre>    <ol>     <li>自定义动画样式</li>    </ol>    <pre>  <code class="language-java">UIToast.showBaseToast(this,res.getString(R.string.animation),true,UIToast.NONE,UIToast.NONE,null,UIToast.NONE,UIToast.NONE,UIToast.NONE,R.style.AnimationToast);</code></pre>    <h2>关于 UIToast2 这个类的说明</h2>    <p>去看源码的可以看到,方法重载什么的相对比较繁多,所以提供另一种写法: 例如,展示一个自定义动画,位置(带偏移量),文字颜色,背景色的 Toast :</p>    <pre>  <code class="language-java">DisplayMetrics displayMetrics2 = getResources().getDisplayMetrics();                  int widthPixels2 = displayMetrics2.widthPixels;                  int heightPixels2 = displayMetrics2.heightPixels;                  new UIToast2.Builder(this)                          .setText("UIToast2 with Builder")                          .setTextColor(Color.WHITE)                          .setBackgroundColor(res.getColor(R.color.colorPrimaryDark))                          .setAnimations(R.style.AnimationToast)                          .gravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL)                          .offset(widthPixels2/4, (int) (heightPixels2*0.6))                          .show();</code></pre>    <p> </p>    <p> </p>