Android 自定义Activity的Dialog

第一步:

定义layout.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@android:color/transparent"    //背景透明    >第二步:   在style.xml文件定义自定义主题样式
<!-- 对话框风格 --><style name="CustomDialog" parent="@android:style/Theme.Dialog">    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>    <item name="android:windowBackground">@android:color/transparent</item>  //设置dialog的背景    <item name="android:windowFrame">@null</item> //Dialog的windowFrame框为无    <item name="android:windowIsFloating">true</item>//是否浮现在activity之上    <item name="android:windowContentOverlay">@null</item>    <item name="android:windowIsTranslucent">false</item>//是否半透明    <item name="android:windowNoTitle">true</item>//是否显示title    <item name="android:backgroundDimEnabled">false</item>//背景是否模糊显示
<item name="android:windowCloseOnTouchOutside">true</item>  //点击背景是否隐藏
</style>

第三步:   activity文件中加载layout布局文件第四步:   Mainfest.xml文件中配置activity时 加自定义主题属性
  <activity android:name=".activity.DialogActivity"             android:theme="@style/CustomDialog"/>

第五步:设置弹出dialog内容样式
        WindowManager m = getWindowManager();        Display d = m.getDefaultDisplay();  //为获取屏幕宽、高        WindowManager.LayoutParams p = getWindow().getAttributes();  //获取对话框当前的参数值        p.width = (int) (d.getWidth() * 0.95);    //宽度设置为屏幕的0.8        getWindow().setAttributes(p);     //设置生效        getWindow().setGravity(Gravity.BOTTOM);       //设置靠底部对齐        //p.height = (int) (50);   //高度设置为屏幕的1.0       //p.alpha = 1.0f;      //设置本身透明度        //p.dimAmount = 0.0f;      //设置黑暗度
				
时间: 2024-10-24 12:03:08

Android 自定义Activity的Dialog的相关文章

android自定义Activity窗体大小

先给大家看图吧: 看,是不是很酷呢,呵呵. 这里我说关键的地方,就是自定义Activity的窗体大小. 这个登录框它不是一个Dialog,而是一个Activity. 如何定义,即把Activity的主题设置为Theme.Dialog <activity android:name=".AlertDialogActivity"  android:theme="@style/mytheme" /> mytheme.xml是我自定义的主题 mytheme.xml

Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析

1  背景 之所以写这一篇博客的原因是因为之前有写过一篇<Android应用setContentView与LayoutInflater加载解析机制源码分析>, 然后有人在文章下面评论和微博私信中问我关于Android应用Activity.Dialog.PopWindow加载显示机制是咋回事,所以我就写一 篇文章来分析分析吧(本文以Android5.1.1 (API 22)源码为基础分析),以便大家在应用层开发时不再迷糊. PS一句:不仅有人微博私信我这个问题,还有人问博客插图这些是用啥画的,这

【Android】 activity的dialog样式

<!-- activity无黑边 --> <!-- activity可滑动 --> <!-- activity透明 --> <!-- activity无标题 --> <!-- activity不变暗 --> <style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFr

Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析

[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 1 背景 之所以写这一篇博客的原因是由于之前有写过一篇<Android应用setContentView与LayoutInflater载入解析机制源代码分析>.然后有人在文章以下评论和微博私信中问我关于Android应用Activity.Dialog.PopWindow载入显示机制是咋回事,所以我就写一篇文章来分析分析吧(本文以Android5.1.1 (API 22)源代码为基础分析),以

Android中自定义Activity和Dialog的位置大小背景和透明度等demo

1.自定义Activity显示样式 先在res/values下建colors.xml文件,写入: [xhtml] view plaincopy <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 设置透明度为56%(9/16)左右 --> <color name="transparent">#9000</color> </

Android中自定义Activity和Dialog的位置大小背景和透明度等

1.自定义Activity显示样式 先在res/values下建colors.xml文件,写入: view plainprint? 1. <?xml version="1.0" encoding="utf-8"?>   2. <resources>   3.     <!-- 设置透明度为56%(9/16)左右 -->   4.     <color name="transparent">#9000

Android应用Activity、Dialog、PopWindow窗口显示机制及源码分析

[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重劳动成果] 1 背景 之所以写这一篇博客的原因是因为之前有写过一篇<Android应用setContentView与LayoutInflater加载解析机制源码分析>,然后有人在文章下面评论和微博私信中问我关于Android应用Dialog.PopWindow.Toast加载显示机制是咋回事,所以我就写一篇文章来分析分析吧(本文以Android5.1.1 (API 22)源码为基础分析),以便大家在应

android自定义Activity窗口大小(theme运用)

http://gundumw100.iteye.com/blog/906195 正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示: 实现起来非常简单. 第一步,创建一个背景配置文件float_box.xml,放到res/drawable下,如下所示(如看不懂可查看本站:): Xml代码   <?xml version="1.0" encoding="utf-8"?> <!-- ** Copy

Android 自定义Activity的标题栏(Titlebar)

缺省的情况下,通常见到Activity的标题栏(Titlebar)是这样的(红色框内): HandleContacts是Activity的标题.有时候,我们希望能改变一下这样单调的状况.比如,要在标题栏中增加一个用于美化界面的图标.增一个输入框或按钮之类的,怎样才能做到这一点呢?我们不妨来看一个实际的例子. 1.首先如下创建一个Android项目 2.将图片magnifier.png拖入该项目的res/drawable-mdpi文件夹下.magnifier.png图片的样子是这样的: 3.在该项