自定义带图片和文字说明的Dialog
2018-03-06 15:00
507 查看
开发中想要实现如下效果,这就得自定义Dialog了,
1.首先定义Dialog显示的布局内容 : toast_motify_succeed.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/x763"
android:layout_height="@dimen/x441"
android:gravity="center"
android:background="@drawable/shape_conner_white_bg"
android:orientation="vertical">
<ImageView
android:layout_width="@dimen/x114"
android:layout_height="@dimen/x114"
android:background="@drawable/icon_success" />
<TextView
android:id="@+id/tv_toast_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/x62"
android:text="登录密码重置成功"
android:textColor="#2f97e9"
android:textSize="@dimen/text_size_18" />
</LinearLayout>其中背景shape为:<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="4dp" />
<solid
android:color="@android:color/white"
/>
</shape>2.创建自定义Dialog的样式styles<style name="MyDialogStyle">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:backgroundDimEnabled">true</item>
</style>3.定义显示Dialog的常用类DialogUtilspublic class DialogUtils {
private static TextView tipTextView;
private static Dialog ProgressDialog;
public static void showCompleteDialog(Context context,String msg){
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.toast_motify_succeed, null);// 得到加载view
tipTextView = v.findViewById(R.id.tv_toast_content);// 提示文字
tipTextView.setText(msg);// 设置加载信息
ProgressDialog = new Dialog(context, R.style.MyDialogStyle);// 创建自定义样式dialog
ProgressDialog.setCancelable(true); // 是否可以按“返回键”消失
ProgressDialog.setCanceledOnTouchOutside(true); // 点击加载框以外的区域
ProgressDialog.setContentView(v, new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
/**
*将显示Dialog的方法封装在这里面
*/
Window window = ProgressDialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = 520;
lp.height = 280;
lp.y=-150;
window.setGravity(Gravity.CENTER_HORIZONTAL);
window.setAttributes(lp);
window.setWindowAnimations(R.style.PopWindowAnimStyle);
ProgressDialog.show();
}
}最后在需要显示Dialog的地方直接使用即可,DialogUtils.showCompleteDialog(this,"密码重置成功!");
1.首先定义Dialog显示的布局内容 : toast_motify_succeed.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/x763"
android:layout_height="@dimen/x441"
android:gravity="center"
android:background="@drawable/shape_conner_white_bg"
android:orientation="vertical">
<ImageView
android:layout_width="@dimen/x114"
android:layout_height="@dimen/x114"
android:background="@drawable/icon_success" />
<TextView
android:id="@+id/tv_toast_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/x62"
android:text="登录密码重置成功"
android:textColor="#2f97e9"
android:textSize="@dimen/text_size_18" />
</LinearLayout>其中背景shape为:<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="4dp" />
<solid
android:color="@android:color/white"
/>
</shape>2.创建自定义Dialog的样式styles<style name="MyDialogStyle">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:backgroundDimEnabled">true</item>
</style>3.定义显示Dialog的常用类DialogUtilspublic class DialogUtils {
private static TextView tipTextView;
private static Dialog ProgressDialog;
public static void showCompleteDialog(Context context,String msg){
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.toast_motify_succeed, null);// 得到加载view
tipTextView = v.findViewById(R.id.tv_toast_content);// 提示文字
tipTextView.setText(msg);// 设置加载信息
ProgressDialog = new Dialog(context, R.style.MyDialogStyle);// 创建自定义样式dialog
ProgressDialog.setCancelable(true); // 是否可以按“返回键”消失
ProgressDialog.setCanceledOnTouchOutside(true); // 点击加载框以外的区域
ProgressDialog.setContentView(v, new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
/**
*将显示Dialog的方法封装在这里面
*/
Window window = ProgressDialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = 520;
lp.height = 280;
lp.y=-150;
window.setGravity(Gravity.CENTER_HORIZONTAL);
window.setAttributes(lp);
window.setWindowAnimations(R.style.PopWindowAnimStyle);
ProgressDialog.show();
}
}最后在需要显示Dialog的地方直接使用即可,DialogUtils.showCompleteDialog(this,"密码重置成功!");
相关文章推荐
- 自定义Dialog(图片,文字说明,单选按钮)----类ListPreference实现(2)
- 自定义Dialog(图片,文字说明,单选按钮)----类ListPreference实现(2)
- 自定义Dialog(图片,文字说明,单选按钮)----类ListPreference实现(2)
- 自定义Dialog(图片,文字说明,单选按钮)----类ListPreference实现(2)
- Android 自定义View消除锯齿实现图片旋转,添加边框及文字说明
- 安卓自定义View进阶-Canvas(3)图片与文字
- 最简单的push设置自定义backBarButtonItem(文字、图片、图文)
- Android 自定义Android带图片和文字的ImageButton
- 自定义Android带图片和文字的ImageButton
- navigation和tabbar上的文字.图片 自定义
- 关于做一个自定义的button,图片和文字在一起的
- 自定义一个图片在上,文字在下的按钮
- Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解
- 自定义带图片和文字的ImageTextButton
- iOS View自定义窍门——UIButton实现上显示图片,下显示文字
- 自定义属性之LinearLayout ImageView TextView模拟图片文字按钮
- MFC create自定义图片的Dialog限制位置
- Android中自定义ImageView添加文字说明详解
- java生成二维码 并在生成的二维图片加上说明文字
- 自定义 UIButton(图片+文字)