Android 自定义dialog(封装好的)
来源:互联网 发布:网页美工设计培训 编辑:程序博客网 时间:2024/06/05 16:43
喜欢把用过的东西总结一下,既可以分享,以后自己用的时候也方便查;废话不多说,先看效果:
这是一个很常用的dialog ,封装一个是有必要的,用的地方太多了,实现步骤:
1:创建一个progress_dialog.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#ffffffff" android:orientation="horizontal" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:background="#7f000000" android:orientation="horizontal" android:padding="5dp" > <ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" android:layout_gravity="center_vertical" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="3dp" android:text="亲,正在为您加载!" android:textColor="#ffffffff" android:textSize="17sp" /> </LinearLayout></LinearLayout>
2:修改styles风格:
<style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <!-- 边框 --> <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsTranslucent">false</item> <!-- 半透明 --> <item name="android:windowNoTitle">true</item> <!-- 无标题 --> <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景透明 --> <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 --> </style>
3:代码类:
package com.dialog.demo;import android.app.Dialog;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.Window;public class CProgressDialog{private ContextmContext;private DialogmDialog;public CProgressDialog(Context context){mContext = context;}public Dialog loadDialog(){mDialog = new Dialog(mContext, R.style.dialog);LayoutInflater in = LayoutInflater.from(mContext);View viewDialog = in.inflate(R.layout.progress_dialog, null);viewDialog.setBackgroundColor(0x7f000000);mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);// 这里可以设置dialog的大小,当然也可以设置dialog title等// LayoutParams layoutParams = new LayoutParams(width * 80 / 100, 50);// mDialog.setContentView(viewDialog, layoutParams);mDialog.setContentView(viewDialog);mDialog.setCanceledOnTouchOutside(true);mDialog.show();return mDialog;}public void removeDialog(){mDialog.dismiss();}}
4:代最后引用地方:
package com.dialog.demo;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MotionEvent;public class MainActivity extends Activity{private CProgressDialogmDialog;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mDialog = new CProgressDialog(this);mDialog.loadDialog();}@Overridepublic boolean onTouchEvent(MotionEvent event){mDialog.removeDialog();return super.onTouchEvent(event);}@Overridepublic boolean onCreateOptionsMenu(Menu menu){getMenuInflater().inflate(R.menu.activity_main, menu);return true;}
这样就大功告成了
源码下载
- Android 自定义dialog(封装好的)
- android Dialog 自定义 封装
- Android 自定义通用Dialog的封装
- Android-- 封装Dialog,即自定义Dialog,使其满足各种dialog的样式要求
- 浅谈android中的自定义封装易用的Dialog
- 浅谈android中的自定义封装易用的Dialog
- Android自定义弹框Dialog和Popupwindow的封装使用
- android中的自定义封装易用的Dialog
- android中的自定义封装易用的Dialog
- 浅谈android中的自定义封装易用的Dialog
- 封装好的Android对话框Dialog,包含了丰富的dialog样式、点击事件数据回传接口。直接调用封装好的方法即可操作dialog
- Android 自定义Dialog实现步骤及封装
- android Dialog的自定义
- 自定义Android的Dialog
- Android 自定义的Dialog
- android 自定义的dialog
- 封装自定义的Dialog和Toast
- 【自定义Dialog】封装IOS样式的圆角Dialog
- 关于js中\"window.location.href\"、\"location.href\"、\"parent.location.href\"、\"top.location.href\"的用法
- IE7/IE8下用JS更换验证码图片
- 【破碎&&音符win7主题】_8.26
- Cookie操作插件 jQuery.Cookie
- 精心挑选的12款优秀 jQuery Ajax 分页插件和教程
- Android 自定义dialog(封装好的)
- eclipse中的任务标记(TODO、FIXME、XXX)
- 从JBOSS启动的问题谈及JBOSS中jar的加载顺序
- 视频处理控件TVideoGrabber如何重新编码视频
- MyEclipse安装插件的几种方法
- Jboss在 jdk6下的 webservice实现冲突解决
- javax.mail.MessagingException: 501
- #php字符递增问题
- jquery的each()详细介绍