这一个12小时的调试..帮助我..
RES /可绘
main_img1.png
main_img2.png
XML
android:background="@drawable/main_img1"
会员
RelativeLayout relativelayout;
的OnCreate
relativelayout = new RelativeLayout(this);
relativelayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.main_img2));
relativelayout.invalidate();
图片没有变化 setBackgroundDrawable不起作用 没有错误没有红线
您无法使用imageview,
动态变化到布局的背景,处理程序
请分享您的知识
答案 0 :(得分:1)
您需要让RelativeLayout知道您所指的资源: xml
android:id="@+id/your_layout"
android:background="@drawable/main_img1"
的OnCreate
relativelayout = new RelativeLayout(this);
relativelayout = (RelativeLayout)findViewById(R.id.your_layout)
答案 1 :(得分:0)
我认为问题在于你的drawable缺少其内在界限。因此,使用setBackgroundDrawable
代替setBackgroundResource
,让视图自动调整边界。
例如
relativelayout.setBackgroundResource(R.drawable.main_img2);
答案 2 :(得分:0)
请尝试这个:
的xml:
android:background="@drawable/main_img1"
的OnCreate
RelativeLayout relativelayout;
relativelayout = (RelativeLayout)findViewById(R.id.your_layout)
relativelayout.setBackgroudResource(null);
relativelayout.setBackgroundResource(R.drawable.main_img2);
我希望它对你有用。
答案 3 :(得分:0)
这样做;
XML:
<RelativeLayout>
android:id="@+id/rel_layout"
android:background"@drawable/main_img1"
</RelativeLayout>
爪哇:
RelativeLayut rel_layout=(RelativeLayout)findviewbyId(R.id.rel_layout);
rel_layout.setBackgroundResource(R.drawable.main_img2);
答案 4 :(得分:0)
不推荐使用方法setBackgroundDrawable。而是使用
setBackgroundResource(getResources().getDrawable(R.drawable.main_img2));
还可以从xml参考您的布局,如下所示
relativelayout = (RelativeLayout)findViewById(R.id.your_layout);