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