当你设置你的UI在activity上时 by calling setContentView()
,android增加你的VIEW在activity的WINDOW上。
这个窗口并不只包含你的VIEW。
DecorView
LinearLayout
FrameLayout FrameLayout
TextView FrameLayout
.. ....
DecorView实际上hold这window的背景drawble.可以通过getWindow().setBackgroundDrawable()
从activity中改变windows的背景图。如果你用默认的android theme,一个默认的背景drawable将被设置到你的activity上。
这个drawable目前是一个ColorDrawable(好像是灰黑色的)。对于大多数application,这个背景图能工作很好可以被保留。
但是能影响点性能。
如果你在你的activity上设置一个不透明的背景图,那么在你后面的DecorView的背景图也就是默认窗口的背景图就不可见了,那么
画他就没意义了。
删除这个背景很容易:This drawable is simply referenced by the theme:
<resources>
<style name="Theme.Shelves" parent="android:Theme">
<item name="android:windowBackground">@drawable/background_shelf</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
android:theme="@style/Theme.NoBackground"
to your
<activity />
or <application />
tag
这个技巧很好的对于用MapView
, a WebView
or any other full screen opaque
view.
用一个theme去改变windows的背景也是个很好的办法能给改善启动activity的性能。
如果你的application简单的设置背景在XML layout里或者在ONCREATE里,用户将能看到application启动时带着默认的theme和
他的黑背景。你设置的背景只是appear after the inflation of the content view and the first layout/drawing
pass.
以下是设置背景(窗口背景,不是activity背景,如果你设置了窗口背景,那么activity就不用设置了)
in res/drawable/background_shelf.xml
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/shelf_panel"
android:tileMode="repeat" />This drawable is simply referenced by the theme:
<resources>
<style name="Theme.Shelves" parent="android:Theme">
<item name="android:windowBackground">@drawable/background_shelf</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
分享到:
相关推荐
Android 动态设置程序activity背景图片源码
使用自定义透明样式使activity背景透明
背景半透明效果的Activity
Andriod_去掉系统自带的Activity跳转动画.
使用一个指定的视屏文件作为Activity的动态背景的简单实现源码
常见的activity 动态视频背景 的点点滴滴多多多
修改Studio默认每次创建项目继承类Activity
1.第一种适合资源id间传递 2.第二种将图片系列化后传递 3.第三种适合图片较大的情况传递
将android的Activity中的标题(title)去除
将图片在另一个Activity中独立显示
activity6.0流程图高亮
Android 内部 启动Activity 时序图,了解activity在系统的启动流程对Android开发的同事很有帮助
activity中图片传递
Activity生命周期示意图
很好的一张Activity生命周期图,可以很清楚了解Activity生命周期的流程图
下面小编就为大家带来一篇去掉activity默认动画效果的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
分享一个web端绘制流程图,感觉很实用。下载解压后直接导入eclipse,运行方式 HTTP Preview,访问地址http://localhost:8080/estd/index.html 希望能帮助到大家。
activity3activity3
来张图看看,上面这个白色背景的就是 方法一 在res/values/styles.xml,设置Activity的样式 <!--透明activity的style--> <style name=transparent_activity> <item name=android:windowBackground>...
可以实现多个activity界面背景的更换和设置