一、Android:windowBackground属性简介
Android:windowBackground是一个用于指定Activity背景的属性,可以通过在Activity的theme中添加属性值来设置。
该属性接受一个Drawable对象作为值,可以是颜色、图片、GradientDrawable等,同时支持selector作为值。
在设置背景图片时,除了使用固定路径指向资源文件外,在代码中也可以通过动态生成Drawable对象来设置。
二、通过资源文件设置背景图片
Android支持通过layout文件和style文件来对Activity的背景图片进行设置。
1.在layout文件中设置
<LinearLayout ... android:background="@drawable/my_bg" ... />
2.在style文件中设置
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@drawable/my_bg</item> </style>
三、通过Drawable对象设置背景图片
可以通过代码将Drawable对象设置为Activity的背景,这是一个非常灵活的方式,可以直接在代码中生成需要的背景。比如,根据屏幕大小生成背景等。
class MyActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val drawable = GradientDrawable() drawable.setColor(Color.RED) window.decorView.background = drawable } }
四、总结
Android:windowBackground属性是设置Activity背景图片的一种方式,可以通过资源文件或者通过代码动态生成生成Drawable对象来设置,可以根据实际需要选择合适的方式。
通过Drawable对象设置背景图片的方式非常灵活,可以根据需求生成合适的Drawable。