在 Android 中,要动态更改窗口背景,您可以通过编程方式设置 Window
对象的 setBackgroundDrawable
方法。以下是一个简单的示例,展示了如何在 Activity 中动态更改窗口背景:
- 首先,在您的 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。