在 Android 中,要动态更改窗口背景,您可以通过编程方式设置 Window
对象的 setBackgroundDrawable
方法。以下是一个简单的示例,展示了如何在 Activity 中动态更改窗口背景:
onCreate
方法。@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 在这里动态更改窗口背景
changeWindowBackground();
}
changeWindowBackground
,在该方法中设置新的背景。private void changeWindowBackground() {
// 创建一个新的背景Drawable
GradientDrawable gradientDrawable = new GradientDrawable();
gradientDrawable.setShape(GradientDrawable.RECTANGLE);
gradientDrawable.setColor(Color.parseColor("#FFC107")); // 设置颜色,例如黄色
gradientDrawable.setCornerRadius(10); // 设置圆角半径
// 将背景Drawable设置为窗口背景
getWindow().setBackgroundDrawable(gradientDrawable);
}
在这个示例中,我们创建了一个 GradientDrawable
对象并设置了其属性,然后将其设置为窗口的背景。您可以根据需要自定义这些属性。如果您想要使用其他类型的背景(例如图片),您可以使用 setBackgroundResource
方法并传递相应的资源 ID。