自定义对话框第一步(继承Dialog)

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;}@Overrideprotected 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设置大全


更多相关文章

  1. android EditText设置不可写
  2. android“设置”里的版本号
  3. 在Fragment中设置控件点击方法,执行失败。
  4. Android(安卓)闹钟管理类的使用
  5. Android设置通知栏/状态栏透明改变通知栏颜色和app最上部分颜色
  6. android 设置中划线 下划线等
  7. Andorid Dialog 示例【慢慢更新】
  8. android图表ichartjs
  9. Android(安卓)闹钟管理类的使用

随机推荐

  1. Android读写XML(下)——创建XML文档
  2. Android入门教程 AsyncTask的使用及execu
  3. 如何编译MTK android模拟器
  4. Android 增加鼠标支持
  5. Ubuntu 下 Android源代码下载指南
  6. Android的TextView中文字添加删除线,下划
  7. [置顶] 我的Android进阶之旅------>Andro
  8. 详解谷歌官方教程 Android插件ADT 9.0.0
  9. 项目中遇到的问题留下笔记
  10. android 软件更新代码