经典指数          
原因
1159
浏览数
0
收藏数
 

将一个Activity设置成窗口的样式,只需设置Theme
  • T
  • F

     举报   纠错  
 
切换
1 个答案

1.在res/value文件夹下的style.xml文件中加入如下代码:

[java] view

plaincopy

"Theme.FloatActivity"

 parent=

"android:style/Theme.Dialog"

>  

      

    

>

@drawable

/float_box  

  

2.在res/drawable文件夹下新建float_box.xml文件,代码如下:

[java] view

plaincopy

"1.0"

 encoding=

"utf-8"

?>  

>  

    

 />  

    

 android:color=

"#ff000000"

 />  

    

 />  

    

 android:top=

"10dp"

 android:right=

"10dp"

 android:bottom=

"10dp"

 />  

  

3.在AndroidMainifest.xml中Activity的声明中加入

[java] view

plaincopy

android:theme=

"@style/Theme.FloatActivity"

  

效果如下:

图中显示了一个activity启动另一个activity的效果,布局文件是同一个。其中被启动的activity2是以对话框样式显示,不完全覆盖住启动它的activit1,类似alertDialog。

    这与普通的activity不同,默认情况下,activity2会完全遮住activity1,启动activity2后,会调用activity1的onStop方法,而这种以对话框样式显示的activity不会。(详见Activity的生命周期)

 
切换
撰写答案