android:如何从类外的方法更改我的背景颜色

时间:2013-12-23 15:47:44

标签: android

我有一个代码,用于通过java代码

更改我的活动的BackGroud颜色
View view = this.getWindow().getDecorView();
view.setBackgroundColor(color);

我有一个公共类,我在其中定义所有常用方法

    public class MyClass {
public static void myToast(String msg , Context context)
{
    int duration = Toast.LENGTH_LONG;
    Toast.makeText(context, msg, duration).show();
}

public void setBackGroundColor(int color)
{
    // View view = this.getWindow().getDecorView();
            //view.setBackgroundColor(color);
}

    }

我如何在方法调用中传递'this'?(使用this.getWindow()。getDecorView()) 它('this')和上下文一样吗? 颜色是int类型? 我对它完全感到困惑 需要答案和建议 提前致谢

2 个答案:

答案 0 :(得分:0)

  

我如何在方法调用中传递'this'?

this表示当前的Activity上下文,因此您应将第二个参数添加到setBackGroundColor作为Activity:

public void setBackGroundColor(int color,Activity activity)
{
    View view = activity.getWindow().getDecorView();
    view.setBackgroundColor(color);
}

答案 1 :(得分:0)

您可以通过布局设置颜色的十六进制代码,即.xml文件。

如果您想将背景更改为图片,请在上面的代码中提到装饰;你可以实现

view.setBackgroundResource(R.drawable.drawableName);

是的Color是一种int类型。您也可以这样使用语法:

public void setBackGroundColor(Color color){
}