Android中让Dialog全屏

转自:http://blog.csdn.net/forlong401/article/details/7830865

http://gqdy365.iteye.com/blog/1402906
http://blog.sina.com.cn/s/blog_643e838601016rgt.html
一、在style中定义样式:

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <style name="Transparent">    
    <item name="android:windowBackground">@color/transparent_background</item>    
    <item name="android:windowNoTitle">true</item>    
    <item name="android:windowFullscreen">true</item>  
    <item name="android:windowIsTranslucent">true</item>       
    <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>    
  </style>  
</resources>  

其中transparent_background为颜色值:#50000000,透明度为50

二、代码中定义Dialog时添加样式:
Java代码 收藏代码
final Dialog dialog = new Dialog(this,R.style.Transparent);

或者

默认的Dialog是不能全屏的。也就是怎么设置Dialog的Layout都没用的。

面给出实现Dialog实现全屏的两种方式:

1、代码实现。这中方法相对比较简单

首先继承Dialig,然后再构造函数中添加
super(context, android.R.style.Theme); // 我用了这个方法,真的可以
setOwnerActivity((Activity)context); // 好像不需要设置
2、XML实现
首先,在values文件中添加一个XML文件,
其次,在XML文件中设置一个style
然后,添加如下代码:

<style name="Dialog_Fullscreen"> 
      <item name="android:windowFullscreen">true</item> 
      <item name="android:windowNoTitle">true</item>  
    </style>

最后,在代码里设置Dialog的Theme
Dialog dialog = new Dialog(this,R.style.Dialog_Fullscreen);
dialog.setContentView(R.layout.main);
dialog.show();

你可能感兴趣的:(android)