`
he91_com
  • 浏览: 378863 次
文章分类
社区版块
存档分类
最新评论

dialog style 的 activity 的全屏设置 (dialog适用)

 
阅读更多

之前想做一个效果,就是从当前界面,点一个按钮过后,从底部慢慢升起一个对话框。


为了方便,我一下想到了 dialog style的activity。


但是发现设置了 activity的style为 dialog之后,他的大小比正常activity要小一圈,播放动画从底部升起的时候,就从这个小了一圈的底部升起,也就是从整个屏幕的中间升起。


后来自定义了一个如下style,发现也不行。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="testStyle" parent="@android:style/Theme.Dialog" >
      <item name="android:windowBackground">@color/transparent</item>
	  <item name="android:windowFrame">@null</item>
	  <item name="android:backgroundDimEnabled">true</item>
	  <item name="android:windowIsTranslucent">true</item>
	  <item name="android:windowNoTitle">true</item>
	  <item name="android:windowFullscreen">true</item>
    </style>
</resources>

后来发现,重点就是在这一句:parent="@android:style/Theme.Dialog"。去掉之后就可以全屏了,应该是他从这个style继承过来的时候,就已经限制了大小。




另外附一篇关于这个dialog的说明,转自:http://chen2337.blog.163.com/blog/static/34039920201111751833693/


res/values文件夹新建名为dialogStyle.xml的resources样式文件,具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@drawable/dia_bg</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>
</resources>

这个样式文件的说明如下

parent="@android:style/Theme.Dialog":在系统Dialog样式基础上,相当于继承系统样式

<item name="android:windowFrame">@null</item>:Dialog的windowFrame框为无

<item name="android:windowIsFloating">true</item>:是否浮现在activity之上


<item name="android:windowIsTranslucent">false</item>:是否半透明
<item name="android:windowNoTitle">true</item>:是否显示title
<item name="android:windowBackground">@drawable/dia_bg</item>:设置dialog的背景

<item name="android:backgroundDimEnabled">true</item>背景是否模糊显示
<item name="android:backgroundDimAmount">0.6</item>

接下来写java代码把这个半透明弹窗显示出来,在AuthorizeActivity的onCreate方法添加如下代码:


ViewdiaView=View.inflate(this,R.layout.dialog,null);
dialog=newDialog(AuthorizeActivity.this,R.style.dialog);
dialog.setContentView(diaView);
dialog.show();
或者在Mainfest.xml中设置android:theme="@style/dialog"



经验:

可以到Android源码目录frameworks\base\core\res\res\values\styles.xml & themes.xml参考更多的系统主题实现自己需要的风格。



分享到:
评论

相关推荐

    Dialog风格Activity全屏显示悬浮窗

    或者其他可操作的悬浮的窗口时,你不能影响该activity的正常运行(比如播放器界面的播放画面不停止,动画不停止等),所以就需要考虑到Dialog风格的activity了,关键点就是设置dialog全屏显示,因为根据系统的theme....

    android自定义全屏dialog

    android自定义全屏dialog,可以全屏显示图片。

    Android使用Dialog风格弹出框的Activity

    首先我们可能会首先想到的是在XML布局文件中设置android:layout_height=”wrap_content”属性,让activity的高度自适应,显然这还不行,我们还需要为其DialogActivity设置自定义一个样式  &lt;style name=dialog...

    Android中Activity常用功能设置小结(包括全屏、横竖屏等)

    Activity全屏设置 方式1:AndroidManifest.xml 代码如下:&lt;activity android:name=”myAcitivty” android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”&gt; 方式2:代码实现 代码如下:...

    android弹出activity设置大小的方法

    有些网友可能知道通过主题比如Theme.Dialog来实现,不过告诉大家设置Activity不再全屏显示的原理。Android Theme也主要是通过定义Style来实现的,实现的原理大家可以直接看Android Framework中的定义,今天给一种更...

    FullScreenDialog

    Dialog是APP开发中常用的控件,同Activity类似,拥有独立的Window窗口,但是Dialog跟Activity还是有一定区别的,最...全屏Dialog实现方法 这里对象分为两种,一种是针对传统的Dialog,另一种是针对DialogFragment(推荐

    Android dialog 去除虚拟按键的解决方法

    Android 部分机型没有物理按键,只有虚拟按键,Activity全屏方法如下: 1、在 setContentView(R.layout.activity_main);之前添加 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_...

    Android 从底部弹出Dialog(横向满屏)的实例代码

    项目中经常需要底部弹出框,这里我整理一下其中我用的比较顺手的一个方式(底部弹出一个横向满屏的dialog)。 效果图如下所示(只显示关键部分): 步骤如下所示: 1.定义一个dialog的布局(lay_share.xml) &lt;?...

    安卓编程与应用

    几乎所有的 activity 都要 和用户打交道,所以 activity 类创建了一个窗口,可以通过 setContentView(View)接口把 UI 放到 activity 创建的窗口上,当 activity 指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口...

    沉浸式状态栏(各种类型沉浸式状态栏(图片或纯色),结合各种WebView,Fragment和Activity的沉浸)

    图片状态栏+彩色导航栏,全屏图片,访QQ状态栏和标题栏渐变色,结合侧滑返回,fragment,Dialog,Tablayout,WebView和Activity结合使用等,以及讲解和解决白色状态栏的原因

    Android 开发常用代码片段

    图片旋转 获取手机号码 格式化string.xml 中的字符串 android设置全屏的方法 设置Activity为Dialog的形式 ....

    MyAppStudy:我的安卓学习

    MyAppStudyMy android study...Theme.Dialog : Activity显示为对话框模式Theme.NoTitleBar : 不显示应用程序标题栏Theme.NoTitleBar.Fullscreen : 不显示应用程序标题栏,并全屏Theme.Light : 背景为白色Theme.Light.No

    各种类型沉浸式状态栏(图片或纯色),结合各种WebView,Fragment和Activity的沉浸

    图片状态栏+彩色导航栏,全屏图片,访QQ状态栏和标题栏渐变色,结合侧滑返回,fragment,Dialog,Tablayout,WebView和Activity结合使用等,以及讲解和解决白色状态栏的原因

    Android系统自带样式 (android:theme)

    android:theme=”@android:style/Theme.Dialog” : Activity显示为对话框模式 android:theme=”@android:style/Theme.NoTitleBar” : 不显示应用程序标题栏 android:theme=”@android:style/Theme.NoTitleBar....

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--屏幕之Activity全屏 |--屏幕之横竖屏切换 |--屏幕之调节屏幕亮度 |--屏幕相关之Display类获取屏幕尺寸和分辨率 |--屏幕适配之ScrollView |--屏幕适配之像素dp和px之间转换 |--工具类之Log的封装类 |--工具类之...

    Gif-Load-ReTry-Refresh-支持gif图片的Load反馈框架,只需一张gif图,一行代码解决初次加载,重试加载,刷新加载,与生命周期绑定,LeakCanary检测无内存泄漏.zip

    有的是设置全屏StatusBar透明,然后再动态插入一个大小一致的View来占位,达到设置状态栏颜色的目的,因此,如果单纯的在DecorView中来插入加载布局,难以控制加载页面的MarginTop,可能会遮盖到Toolbar,所以退而求...

    可扩展的文件选择器NoNonsense-FilePicker

    选择器是基于activity,在屏幕较小的设备上全屏显示,而在较大的屏幕上则显示成dialog的方式,这个特性是系统主题中做到的,因此为activity选择一个正确的主题至关重要。 使用说明: 该库的核心思想是做到可扩展,...

    Android仿微信图片点击浏览的效果

    首先,从图片缩略界面跳转到图片详情页面,应该是从一个Activity跳转到另外一个Activity,应该图片详情页面也有很多操作,用View或者Dialog不是很好。所以现在难点就是,如何使得前一个界面的ImageView在另外一个...

    android开发使用例子

    全屏显示 this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 横竖屏显示 private void...

    Android 开发技巧

    2.1.10、Dialog风格的Activity 23 2.1.11、横竖屏切换不销毁当前Activity 23 2.2、INTENT RECEIVER 25 2.3、SERVICE 26 2.3.1、什么是Service 26 2.3.2、如何使用Service 27 2.3.3、Service的生命周期 32 2.3.4、...

Global site tag (gtag.js) - Google Analytics