2014-09-19 81 views
-2

我的问题:RelativeLayout的setBackgroundDrawable不工作的RelativeLayout setBackgroundDrawable不工作

没有错误,只是没有更改或设置

我的代码

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/main_img1" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.noiseframe.MainActivity" > 

MainActivity.java

成员变量

Resources img1R; 
Resources img2R; 
Resources img3R; 
Resources img4R; 
Resources img5R; 

Drawable img1D; 
Drawable img2D; 
Drawable img3D; 
Drawable img4D; 
Drawable img5D; 

的onCreate

relative = (RelativeLayout)inflater.inflate(R.layout.activity_main, null); 

img1R = getResources(); 
img2R = getResources(); 
img3R = getResources(); 
img4R = getResources(); 
img5R = getResources(); 

img2D = img2R.getDrawable(R.drawable.main_img2); 

relative.setBackgroundDrawable(img2D); 

最后,该处理程序将改变背景
but..In写在任何地方,我的主要活动的背景没有改变..


谢谢你的好意






回到第一码 现在代码

RelativeLayout relativelayout; 
    relativelayout = new RelativeLayout(this); 
    relativelayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.main_img2)); 



没有错误!没有膨胀! 但后面的图像不会改变TT ...

+0

尝试relative.setBackgroundResource(R.drawable.main_img2); - 而不是你写的所有内容。 – 2014-09-19 19:31:10

+0

MainActivity.setBackgroundDrawable(getResources()。getDrawable(R.id.main_img2));是在main_img2上的红线 – Andromer 2014-09-19 19:59:43

+0

和..在main_img2上使用 - >红线的视图 – Andromer 2014-09-19 20:00:11

回答

0

不需要使用那么多变量。你可以直接给这个背景图像。

relative.setBackgroundDrawable(getResources().getDrawable(R.id.image_name)); 

,我有一个问题,如果你在你的MainActivity,如果你已经使用的setContentView为XML文件。你为什么要在那里膨胀XML文件?

+0

找到错误的部分,创建越来越多的细节。第一短。我会尝试你的代码 – Andromer 2014-09-19 19:43:43

+0

如果你不膨胀,getDrawable(找不到R.id.资源) 当编码main_img2上的getDrawable(R.id.main_img2)红线时 – Andromer 2014-09-19 19:52:48

+0

尝试.. MainActivity.setBackgroundDrawable(getResources() .getDrawable(R.id.main_img2));但main_img2是红线 – Andromer 2014-09-19 20:00:35

相关问题