由于继续需要做一些无感操控的工作,之前也记录了下利用悬浮窗的方法。今天突然发现原来activity可以直接嗯嗯嗯啊。

首先我在AndroidManifest里给activity添加了如下一行:

  1. android:theme="@android:style/Theme.Dialog"

ok,我发现activity变成对话框的弹出模式了。但是背景也就是桌面是变暗的,我希望能恢复正常的亮度,也就是透明的效果,于是继续搜索。

发现:

  1. android:theme="@android:style/Theme.Translucent"

这个应该可以让activity变成透明的,但是不能声明两次Theme啊,于是继续找办法,发现,哦,我可以声明style啊。

在style 的xml 里 设置如下:

  1. <resources>
  2. <style name="dialog" parent="@android:style/Theme.Dialog">
  3. <item name="android:backgroundDimEnabled">false</item><!--activity不变暗-->
  4. </style>
  5. </resources>

然后将manifest里改成:

  1. android:theme="@style/dialog"

嗯,继续,我希望没有标题,那么添加

  1. <item name="android:windowNoTitle">true</item>

此时我以为就达到目的了,于是我修改了layout文件的布局大小,宽高都修改成1dp,但是我发现程序运行是屏幕上有个框。。。原来是activity的黑边,我要消掉他。

于是

  1. <item name="android:windowFrame">@null</item>

经过不断的修改之后,最后的style.xml就变成了:

  1. <resources>
  2. <style name="dialog" parent="@android:style/Theme.Dialog">
  3. <item name="android:windowFrame">@null</item><span style="font-family:'Microsoft YaHei'"><!--activity无黑边--></span>
  4. <item name="android:windowIsFloating">true</item><span style="font-family:'Microsoft YaHei'"><!--activity可滑动--></span>
  5. <item name="android:windowIsTranslucent">false</item><span style="font-family:'Microsoft YaHei'"><!--activity透明--></span>
  6. <item name="android:windowNoTitle">true</item><span style="font-family:'Microsoft YaHei'"><!--activity无标题--></span>
  7. <item name="android:background">@android:color/black</item>
  8. <item name="android:windowBackground">@null</item>
  9. <item name="android:backgroundDimEnabled">false</item><span style="font-family:'Microsoft YaHei'"><!--activity不变暗--></span>
  10. </style>
  11. </resources>

现在看起来好多了,但是又发现了一个问题,就是点击activity之外的地方,activity自己就退出了,直接回到了桌面。。。

那么onCreate()方法里加上这句 setFinishOnTouchOutside(false);或者在style里添加

  1. <item name="android:windowCloseOnTouchOutside">false</item><!-- activity点击空白部分不消失 -->

(以上不消失activity的方法需要api11以上,版本低的话需要再进行一些函数操作,可参考:http://blog.csdn.net/voiceofnet/article/details/9061309

Activity 变成对话框,然后再隐藏?的更多相关文章

  1. Android开发,在Activity启动时,默认隐藏软键盘。和遮挡Edittext时的处理

    在Activity启动时,默认隐藏软键盘: 在AndroidManifest.xml中找到你得Activity ,为它添加属性: android:windowSoftInputMode="s ...

  2. ASP.Net后台 实现先弹出对话框,再跳转到另一个网页的实现方法

    解决办法如下: Response.Write("<script>alert('想在对话框中显示的内容');window.navigate(‘要转到的页面的URL’)</sc ...

  3. 当Activity继承AppCompatActivity如何实现隐藏标题栏与状态栏

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); g ...

  4. js 页面按钮提交后 创建显示loading div 操作完成后 再隐藏或删除 进度div

    预期效果: 1.点击Save按钮,创建及显示loading div框 2.Save操作完成后,再删除loading 及弹出提示结果 <html> <head> </hea ...

  5. 解决设置了display:none的元素,会先展示再隐藏

    问题:元素明明设置了display:none,但是在刷新页面的时候却会先显示了出来,然后才会隐藏,实现display:none 原因:由于元素渲染的时候,样式还没有应用上去,导致的 解决办法:使用内联 ...

  6. js实现点击切换显示隐藏,点击其它位置再隐藏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. android 开发 实现一个activity变成dialog对话框

    效果图: 首先说说为什么需要大费周章的去用activity实现一个dialog,明明android系统已经提供了一个更方便的dialog了.原因如下: 1.activity模式的dialog可以实现更 ...

  8. 控制对话框风格的activity的显示大小与位置

    项目开发的需要,因为到现在项目接近完工,用户提出对条件筛选方式进行修改,为做到最小的改动实现用户的需求,各种百度,对于对话框风格大家普遍使用PopupWindow,但由于之前开发设计时使用的是acti ...

  9. [Android]对话框样式Activity获得窗口外点击事件

    Dialog除了使用Dialog类来实现之外,还可以使用Dialog样式的Activity来实现,只需要在注册Activity时指明theme为adnroid:Theme.Dialog就行,这样的Di ...

随机推荐

  1. javascript基于原型的语言的特点

    一.基于原型的语言的特点 1 只有对象,没有类;对象继承对象,而不是类继承类. 2  “原型对象”是基于原型语言的核心概念.原型对象是新对象的模板,它将自身的属性共享给新对象.一个对象不但可以享有自己 ...

  2. ORA-01654错误

    问题现象: 测试库使用如下方式创建索引: create index IDX_ANA_OFFICE on ANA (OFFICE_CITY, OFFICE_NO)   tablespace IDX    ...

  3. UBUNTU 字符界面来回切换

    图形界面切换到字符界面: 实体机:Ctrl + Alt + F1 VMware虚拟机:按下ALT+CTRL+SPACE(空格),ALT+CTRL不松开,再按F1.这样就可以切换到字符界面 字符界面切换 ...

  4. MACD判断定背离,底背离

    MACD背离: 价格创新高而指标却下跌 价格创新低而指标却上涨 缠中说禅背离 多次缠绕中唇吻的面积更小 看图说话:

  5. AppScan--图解Web扫描工具IBM Security App Scan Standard

    App Scan用法:   首先打开IBM Security AppScan Standard 工具   点击 创建新的扫描 ->  点击”常规扫描“ ->之后你就会看到如下图:     ...

  6. Bootstrap定制开发

    Bootstrap作为目前很受欢迎的前端框架,越来越多的网站开始使用基于Bootstrap框架进行开发. 1.定制开发方法 (1)Bootstrap定制开发可以使用LESS和Grunt实现定制化 (2 ...

  7. django之创建第4个项目编写第一个动态模板文件

    修改的地方: 1.index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  8. Qt Installer Framework 使用说明(三)

    目录 6.Qt Installer Framework 示例 7.参考 Reference 配置文件 Configuration File 配置文件元素的简要说明 Summary of Configu ...

  9. Mingw编译DLib

    Mingw编译DLib 因为机器上安装了qt-opensource-windows-x86-mingw530-5.8.0,所以准备使用其自带的mingw530来编译DLib使用. 因为DLib使用CM ...

  10. Inno Setup入门(十)——操作注册表

    有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果.Inno Setup中通过[registry]段实现对注册表的操作. 本段说明: 参数列表: 参 ...