Android中自定义Dialog
2015-06-16 16:09
399 查看
自定义对话框第一步(继承Dialog)
CustomdiaLog.java
Dialog_no_fullsreen style(该样式的Dialog默认不占满全屏,布局默认居中显示,如何设置大小,请参照上面)
注: <item name="android:windowNoTitle">true</item>设置该样式后(或未继承parent="@android:style/Theme.Dialog"该样式),对话框点击空白的地方,就不会自动消失。
以下贴出window style设置大全
CustomdiaLog.java
package com.dialog.project.dialog; import com.dialog.project.R; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.FrameLayout; /** * 自定义dialog */ public class CustomDialog extends Dialog { private Context context; public CustomDialog(Context context) { // 在构造参数中添加dialog的样式(此处不在使用系统的样式) super(context, R.style.Dialog_Fullscreen1); this.context = context; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View view = getLayoutInflater().inflate(R.layout.dialog_layout, null); setContentView(view); initView(); } private void initView() { /**************如在样式中设置了<item name="android:windowFullscreen">true</item>,以下的参数就无需设置,布局的大小可在布局文件中控制***********************************/ // 设置diglog的宽高 // Window dialogWindow = getWindow(); // WindowManager.LayoutParams lp = dialogWindow.getAttributes(); // DisplayMetrics d = context.getResources().getDisplayMetrics(); // lp.width = (int) (d.widthPixels); // 设置为屏幕宽度 // // (如没有设置 super(context,R.style.Dialog_Fullscreen); // // 实际效果是左右各有填充,是系统样式设置的) // dialogWindow.setAttributes(lp); } }
</pre><p></p><pre>自定义对话框第二步(编写style文件)
Dialog_no_fullsreen style(该样式的Dialog默认不占满全屏,布局默认居中显示,如何设置大小,请参照上面)
<style name="Dialog_no_Fullscreen1" parent="@android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item><!-- 此处去除的是diaglog标题栏 --> </style>Dialog_no_fullsreen style(该样式的Dialog默认占满全屏,无需设置dialog的布局参数)
<style name="Dialog_Fullscreen" <span style="font-family: Arial, Helvetica, sans-serif;">parent="@android:style/Theme.Dialog"</span>> <item name="android:windowFullscreen">false</item> <!-- 设置dialog为全屏的 --> <item name="android:windowNoTitle">true</item> <!-- 设置dialog没有标题栏 --> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowFrame">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Activity</item> </style>
注: <item name="android:windowNoTitle">true</item>设置该样式后(或未继承parent="@android:style/Theme.Dialog"该样式),对话框点击空白的地方,就不会自动消失。
以下贴出window style设置大全
相关文章推荐
- ANDROID L——Material Design详解(动画篇)
- Android学习记录之------R文件的优化
- android 状态栏及通知栏中的下载动画效果实现
- android第三方应用跳转到QQ并指定QQ号聊天
- android开发中解决VideoView显示尺寸异常的问题
- Android 颜色对照表
- AndroidのLoaderManager管理Loader实现异步动态加载数据
- Android Volley完全解析(四),带你从源码的角度理解Volley
- 使用EditText在不同场景下调用软键盘的总结
- Android应用程序消息处理机制(Looper、Handler)分析
- Android Volley完全解析(一),初识Volley的基本用法
- 50 Android Hacks阅读笔记
- Android ImageView图片自适应
- android service中显示一个dialog
- Android LayoutInflater详解
- Android AsyncTask两种线程池分析和总结
- 获取Android设备唯一识别码
- Android数据存储之数据库的利用
- Android NDK开发介绍
- android-sdk-windows下载版