Android 自定义dialog(封装好的)

发布时间:2014-10-22 13:09:29编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Android 自定义dialog(封装好的)",主要涉及到Android 自定义dialog(封装好的)方面的内容,对于Android 自定义dialog(封装好的)感兴趣的同学可以参考一下。

喜欢把用过的东西总结一下,既可以分享,以后自己用的时候也方便查;废话不多说,先看效果:   这是一个很常用的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 Context mContext; private Dialog mDialog; 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 CProgressDialog mDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDialog = new CProgressDialog(this); mDialog.loadDialog(); } @Override public boolean onTouchEvent(MotionEvent event) { mDialog.removeDialog(); return super.onTouchEvent(event); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } 这样就大功告成了  源码下载  


上一篇:Set 的功能方法
下一篇:eclipse中的任务标记(TODO、FIXME、XXX)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款