仿招商銀行載入loading效果
在招商銀行android手機app中。有例如以下圖所看到的的loading載入效果:
實現這個效果還是比較簡單,就是自己定義dialog,設置自己想要的布局。然後設置旋轉動畫。
主要步驟:
1,寫布局文件
2,設置dialog的主題
3,自己定義dialog繼承 自Dialog
4,設置旋轉動畫
5。使用
第一步:編寫dialog_merchantbank.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:layout_centerInParent="true"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> <ImageView android:id="@+id/iv_loading_bg" android:layout_width="40dp" android:layout_height="40dp" android:layout_centerInParent="true" android:src="@drawable/loading_bg" /> <ImageView android:id="@+id/iv_loading_roll" android:layout_width="40dp" android:layout_height="40dp" android:layout_centerInParent="true" android:src="@drawable/loading_roll" /> </RelativeLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16sp" android:text="登錄中,請稍後..."/> </LinearLayout> </RelativeLayout>
第二步:編寫主題樣式
<style name="common_dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@color/white</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style>
/** * 仿招商銀行loading dialog */ public class MerchantBankDialog extends Dialog{ private Context mContext; private static MerchantBankDialog dialog; public MerchantBankDialog(Context context) { super(context); mContext = context; } public MerchantBankDialog(Context context, int themeResId) { super(context, themeResId); mContext = context; } public static MerchantBankDialog createDialog(Context context){ //1設置樣式 dialog = new MerchantBankDialog(context,R.style.common_dialog); //2設置布局 dialog.setContentView(R.layout.dialog_merchantbank); dialog.getWindow().getAttributes().gravity = Gravity.CENTER; dialog.setCanceledOnTouchOutside(false); //dialog.setCancelable(false);// 不能夠用“返回鍵”取消 return dialog; } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if(hasFocus && dialog !=null){ //3載入旋轉動畫 ImageView iv_loading_roll = (ImageView) dialog.findViewById(R.id.iv_loading_roll); Animation loadingAnim = AnimationUtils.loadAnimation( mContext, R.anim.rotate_loading); iv_loading_roll.startAnimation(loadingAnim); } } }
第四步:編寫旋轉動畫xml文件,rotate_loading.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" > <rotate android:duration="1500" android:fromDegrees="0" android:interpolator="@android:anim/linear_interpolator" android:pivotX="50%" android:pivotY="50%" android:repeatCount="-1" android:repeatMode="restart" android:startOffset="-1" android:toDegrees="+360" /> </set>
第五步:點擊顯示loading提示框
<span style="white-space:pre"> </span>btn_openzhaohangloading.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { MerchantBankDialog dialog = MerchantBankDialog.createDialog(MainActivity.this); dialog.show(); } });
至此。基本功能已實現。如有疑問歡迎留言或加群討論:196615382,如需源代碼,點擊下載。
。。
仿招商銀行載入loading效果