今天要做Dialog,由于某些功能的实现,需要用到applicationContext,所以决定使用Activity来做。方法是在在配置文件AndroidManifest.xml上加上一个主题:

 

 
  
  1. XML/HTML代码  
  2.       
  3. <activity android:name=".NumberInputActivity" android:theme="@android:style/Theme.Panel"></activity>    

这个主题是从屏幕底部弹出的,类似弹出输入法的效果。还有

 

 
  
  1. XML/HTML代码  
  2.       
  3. <style name="Theme.Dialog">    

这是在屏幕中间弹出Dialog,其他效果可以参考themes.xml配置文件,有详细的解释。

然后设置位置或者背景可以使用如下的方法:

 

 
  
  1. Java代码  
  2.       
  3. WindowManager m = getWindowManager();            
  4. Display d = m.getDefaultDisplay();  //为获取屏幕宽、高                      
  5. LayoutParams p = getWindow().getAttributes();  //获取对话框当前的参数值            
  6. p.height = (int) (d.getHeight() * 1.0);   //高度设置为屏幕的1.0           
  7. p.width = (int) (d.getWidth() * 0.7);    //宽度设置为屏幕的0.8           
  8. p.alpha = 1.0f;      //设置本身透明度          
  9. p.dimAmount = 0.0f;      //设置黑暗度                    
  10. getWindow().setAttributes(p);     //设置生效