自定义对话框第一步(继承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之Fragment界面布局实例
  2. Android之布局onClick属性写法规则
  3. Android studio 页面布局无法显示问题
  4. Android 动态布局 (代码布局)
  5. Android对话框实例-注册对话框
  6. android 圆角布局
  7. Android之Button样式
  8. Android通过Mainfest设置Theme实现布局全屏

随机推荐

  1. Perl Dancer 学习(一)
  2. 关于字符串, 之前没这样用过
  3. 以接口为主导的设计中, 我在使用的框架模
  4. php 中的for and foreach遍历数组
  5. php之数组键名更换,快速生成数组与数组过
  6. 0429作业
  7. 210426 PHP 输出方法,数据类型,变量,作用域,
  8. 「PostgreSQL高级特性」PostgreSQL 数据
  9. 争议 | 多个数据中心上SDN背景下,跨数据中
  10. 【PostgreSQL技巧】PostgreSQL中的物化视