312
技術社區[雲棲]
android加載中對話框,循環,透明
1、自定義對話框 public class HKDialogLoading extends Dialog { Context context; public HKDialogLoading(Context context, int theme) { super(context, theme); this.context = context; ini(); } public HKDialogLoading(Context context) { super(context); this.context = context; ini(); } void ini() { /** * "加載項"布局,此布局被添加到ListView的Footer中。 */ LinearLayout contentView = new LinearLayout(context); contentView.setMinimumHeight(60); contentView.setGravity(Gravity.CENTER); contentView.setOrientation(LinearLayout.HORIZONTAL); /** * 向"加載項"布局中添加一個圓型進度條。 */ ImageView image = new ImageView(context); image.setImageResource(R.drawable.loading_icon); Animation anim = AnimationUtils.loadAnimation(context, R.anim.rotate_repeat); LinearInterpolator lir = new LinearInterpolator(); anim.setInterpolator(lir); image.setAnimation(anim); contentView.addView(image); setContentView(contentView); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // 按下鍵盤上返回按鈕 if (keyCode == KeyEvent.KEYCODE_BACK) { this.dismiss(); } return true; } } 2、用到的動畫文件rotate_repeat <?xml version="1.0" encoding="utf-8"?> <set xmlns:andro android:interpolator="@android:anim/accelerate_interpolator" > <rotate android:duration="1000" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:repeatCount="100" android:repeatMode="restart" android:toDegrees="360" /> </set> 3、用的到的樣式文件 <style name="HKDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style> 4、調用 dialogLoading = new HKDialogLoading(this, R.style.HKDialog); dialogLoading.show(); // 顯示加載中對話框https://zheyiw.iteye.com/blog/1546292
最後更新:2017-04-02 16:47:37