public void dialog(){
//获得布局对象
View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_loading, null);
//设置参数等
view.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
iv = ((ImageView) view.findViewById(R.id.iv_loading));
//开启动画
AnimationDrawable drawable = (AnimationDrawable) iv.getBackground();
drawable.start();
//创建对话框和主题
Dialog loading = new Dialog(getActivity(),R.style.NobackDialog);
//设置是否能点击取消
loading.setCancelable(false);
//把视图加载如对话框
loading.setContentView(view);
loading.show();
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_height="wrap_content">
<ImageView
android:background="@drawable/load_animation"
android:id="@+id/iv_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
样式 可让带对话框透明
<color name="no_back">#0fff</color>
<style name="NobackDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@color/no_back</item>
</style>
背景灰色去掉
<style name="DialogStyle" parent="@android:style/Theme.Dialog">
<!-- dialog背景样式 -->
<item name="android:windowBackground"> @android:color/transparent </item>
<!-- 背景透明 弹窗背后的背景不变按 -->
<item name="android:backgroundDimEnabled">false</item> </style>
<!--全屏-->
<style name="Dialog_Fullscreen">
<item name="android:windowFullscreen">true</item>
<item name="android:windowNoTitle">true</item>
</style>
另外补充一个主题
<style name="CustomDialog" parent="android:style/Theme.Dialog">
<!--背景颜色及透明程度-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--是否有标题 -->
<item name="android:windowNoTitle">true</item>
<!--是否浮现在activity之上-->
<item name="android:windowIsFloating">true</item>
<!--是否模糊-->
<item name="android:backgroundDimEnabled">true</item>
</style>
全屏
Activity mActivity = (Activity) mContext;
WindowManager windowManager = mActivity.getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = this.getWindow().getAttributes();
lp.width = (int)(display.getWidth()); //设置宽度
this.getWindow().setAttributes(lp);