2012-04-15 3 views
0

Я новичок в Android, и я не могу это сделать должным образом.Изменить цвет фона макета после начала другой деятельности

У меня есть макет, который имеет setOnTouchListener,

arg0.setBackgroundColor(Color.parseColor("#4096EE")); 
Intent i = new Intent(getApplicationContext(), AddWebsiteActivity.class); 
NewsRecoveryActivity.this.startActivity(i); 

Но я хочу, чтобы восстановить предысторию моего макета после того, как я начинаю другую деятельность, потому что если я иду назад это как я буду касаться моего макета ... Как мне это сделать ?

Спасибо заранее

Edit: результат Selector:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/add_website_layout" 
    android:padding="8dp" 
    android:background="@drawable/selector_add_website" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
> 

Когда я удалить линии фона она работает.

+0

ожидание даст идеальный selector.xml файл, который был только образец, глядя на что вы должны создать, как вам требуется –

+0

попробуйте сейчас работает ли сейчас –

ответ

0

Спасибо Агарвал, чтобы помочь мне, решение:

В представлении добавить

android:background="@drawable/selector_add_website" 

selector_add_website в вытяжке папке

<selector 
android:id="@+id/selector_add_website" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- Non focused states --> 
<item 
    android:state_focused="false" 
    android:state_selected="false" 
    android:state_pressed="false" 
    android:drawable="@color/black" /> 
<!-- Pressed --> 
<item 
    android:state_pressed="true" 
    android:drawable="@color/bluefocused" /> 
</selector> 

color.xml в папке значений

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<color name="black">#ff000000</color> 
<color name="bluefocused">#4096EE</color> 
</resources> 
0

Вы можете использовать селектор и setbackground для этого селектора. так что при касании цвет автоматически меняется и восстанавливается.

<selector 
    android:id="@+id/myselector" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- Non focused states --> 
    <item 
     android:state_focused="false" 
     android:state_selected="false" 
     android:state_pressed="false" 
     android:drawable="#FF0000" /> 
    <item 
     android:state_focused="false" 
     android:state_selected="true" 
     android:state_pressed="false" 
     android:drawable="#FF0000" /> 

    <!-- Focused states --> 
    <item 
     android:state_focused="true" 
     android:state_selected="false" 
     android:state_pressed="false" 
     android:drawable="#FF0000" /> 
    <item 
     android:state_focused="true" 
     android:state_selected="true" 
     android:state_pressed="false" 
     android:drawable="#FF0000" /> 

    <!-- Pressed --> 
    <item 
     android:state_pressed="true" 
     android:drawable="#FF0000" /> 
</selector> 

может поменять цвет по мере необходимости.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
     android:drawable="@color/blue" /> 
    <item android:state_selected="true" 
     android:drawable="@color/red" /> 
</selector> 

использование выше селектор

+0

я не знаю, селектор до теперь, но мое приложение падает, когда я пытаюсь сопоставить селектор с моим макетом. Я использую: android: background = "@ drawable/selector_add_website", тогда я создаю selectora_dd_website.xml в drawable с вашим примером как содержимое, но сбой при сбое и сбой. – Shinao

+0

вы разместили свой селектор в папке с выделением –

+0

Вы слишком быстро, у меня нет времени на редактирование, да мой селектор находится в папке с возможностью переноса. – Shinao

Смежные вопросы