在开始另一个活动后更改布局的背景颜色

时间:2012-04-15 13:49:42

标签: android android-layout

我是Android的新手,我无法正常使用。

我有一个Layout,它有一个setOnTouchListener,

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

但是我想在我开始其他活动后恢复布局的背景,因为如果我回去就像我正在触摸我的布局......我怎么能这样做?

提前谢谢

编辑:选择结果:

<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"
 >

当我删除背景线时,它正在工作。

2 个答案:

答案 0 :(得分:0)

您可以使用选择器for和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>

使用上面的选择器

答案 1 :(得分:0)

感谢Agarwal帮助我,解决方案:

在视图中添加

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>