//Gionee <zhangjinbiao> <2016-12-14> modify for <41249> begin
static AlertDialog mRefreshDialog;
private AlertDialog showRefreshDialog(){
final FrameLayout frameLayout = (FrameLayout) getLayoutInflater().inflate(R.layout.agenda_dialog_refresh, null);
ImageView iv = (ImageView) (frameLayout.findViewById(R.id.iv));
Animation rotate = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.agenda_dialog_refresh_rotate);
Interpolator interpolator = new LinearInterpolator();//匀速插值
if(null != rotate){
rotate.setInterpolator(interpolator);
if(iv != null){
iv.startAnimation(rotate);
}
}
//为子窗口传context的时候,必须穿组件的context,不能传applicationContext,因为子窗口的添加需要使用组件的token。而applicationContext是没有token的
AlertDialog dialog = new AlertDialog(AgendaActivity.this){ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(frameLayout); //设置全屏 getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT); //使用全透明背景,如果不设置背景,或者把背景设为null,会是不透明黑色的背景。因为添加的窗口默认是不透明的,没有背景就是黑色。
getWindow().setBackgroundDrawableResource(R.color.agenda_refresh_dialog_bg); } }; dialog.setCancelable(false);//点击返回键dialog不消失 dialog.show(); return dialog; } //Gionee <zhangjinbiao> <2016-12-14> modify
for <41249> end
agenda_dialog_refresh_rotate.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="359"
android:duration="500"
android:repeatCount="-1"
android:pivotX="50%"
android:pivotY="50%" />
</set>
agenda_dialog_refresh.xml
注意:使用RelativeLayout或者LinearLayout的话,子控件的layout_gravity属性的center值不能使控件到达布局中心。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/agenda_refresh_dialog_bg">
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/amigo_spinner_large_light"
android:layout_gravity="center"
/>
</FrameLayout>