Android自定義仿ios加載彈窗
本文實例為大傢分享瞭Android自定義仿ios加載彈窗的具體代碼,供大傢參考,具體內容如下
效果如下:
IosLoadDialog類(可直接復制):
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:id="@+id/dialog_view" 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"> <LinearLayout android:layout_width="80dp" android:layout_height="80dp" android:background="@drawable/white_radian13" android:gravity="center" android:orientation="vertical"> <ImageView android:id="@+id/loading_dialog_img" android:layout_width="50dp" android:layout_height="50dp" android:scaleType="fitXY" android:src="@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); }
好瞭,去試試吧!
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- android 實現側邊彈窗特效代碼
- Android實現加載圈
- Android自定義ProgressBar實現漂亮的進度提示框
- android自定義對話框實例代碼
- Android Studio使用自定義對話框效果