2014-09-19 2 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

Член Variable

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); вместо всего, что вы написали. –

+0

MainActivity.setBackgroundDrawable (getResources(). GetDrawable (R.id.main_img2)); красная линия на main_img2 – Andromer

+0

и .. просмотр с использованием -> красная линия на main_img2 – Andromer

ответ

0

Не нужно использовать эти переменные. Вы можете напрямую указать фоновое изображение следующим образом.

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

и у меня есть еще один вопрос, если вы находитесь в MainActivity и, если вы уже использовали setContentView для файла XML. почему вы надуваете xml-файл там?

+0

Найдите неправильную деталь, создайте детали. Первый короткий. Я попробую ваш код – Andromer

+0

Если вы не надуваете, getDrawable (ресурс R.id. не найден) При кодировании красной строки getDrawable (R.id.main_img2) на main_img2 – Andromer

+0

попробуйте .. MainActivity.setBackgroundDrawable (getResources() .getDrawable (R.id.main_img2)); но main_img2 redline – Andromer