Android自定義仿ios加載彈窗
本文實(shí)例為大家分享了Android自定義仿ios加載彈窗的具體代碼,供大家參考,具體內(nèi)容如下
效果如下:
IosLoadDialog類(可直接復(fù)制):
public class IosLoadDialog extends Dialog { public IosLoadDialog(Context context) {super(context, R.style.loading_dialog);initView(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) {switch (keyCode){ case KeyEvent.KEYCODE_BACK:if(IosLoadDialog.this.isShowing()) IosLoadDialog.this.dismiss();break;}return true; } private void initView(){setContentView(R.layout.dialog_loading);Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.load_animation);animation.setInterpolator(new LinearInterpolator());findViewById(R.id.loading_dialog_img).startAnimation(animation);setCanceledOnTouchOutside(true);WindowManager.LayoutParams attributes = getWindow().getAttributes();attributes.alpha=0.8f;getWindow().setAttributes(attributes);setCancelable(false); }}
R.layout.dialog_loading文件:
<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android: android:layout_width='match_parent' android:layout_height='match_parent' android:background='@color/tm' android:gravity='center' android:minHeight='60dp' android:minWidth='180dp' android:orientation='vertical' android:padding='10dp'> <LinearLayoutandroid:layout_width='80dp'android:layout_height='80dp'android:background='@drawable/white_radian13'android:gravity='center'android:orientation='vertical'><ImageView android: android:layout_width='50dp' android:layout_height='50dp' android:scaleType='fitXY' android:src='http://m.4tl426be.cn/bcjs/@drawable/ic_svstatus_loading' /> </LinearLayout></LinearLayout>
loading_dialog樣式:
<style name='loading_dialog' parent='android:style/Theme.Dialog'><item name='android:windowFrame'>@null</item><item name='android:windowNoTitle'>true</item><item name='android:windowBackground'>@color/tm</item><item name='android:windowIsFloating'>true</item><item name='android:windowContentOverlay'>@null</item> </style>
white_radian13白色透明圓角背景:
<?xml version='1.0' encoding='utf-8'?><layer-list xmlns:android='http://schemas.android.com/apk/res/android'> <item><shape> <solid android:color='#F7FBFD' /> <corners android:radius='13dp' /></shape> </item></layer-list>
然后奉上圖片ic_svstatus_loading.png:
最后使用:
public void showDialog(){final IosLoadDialog iosLoadDialog = new IosLoadDialog(this);iosLoadDialog.show();new Handler().postDelayed(new Runnable() { @Override public void run() {iosLoadDialog.dismiss(); }},1200); }
好了,去試試吧!
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用CSS制作3D動(dòng)畫2. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法3. python 浮點(diǎn)數(shù)四舍五入需要注意的地方4. JAMon(Java Application Monitor)備忘記5. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)6. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼7. Springboot 全局日期格式化處理的實(shí)現(xiàn)8. python開發(fā)一款翻譯工具9. 使用Java Swing創(chuàng)建一個(gè)XML編輯器之三10. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問題
