0

私はAndroidを初めて使用しますが、これを適切に行うことができません。

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

背景線を削除すると、機能しています。

4

2 に答える 2

0

セレクターを使用して、そのセレクターの背景を設定できます。タッチすると自動的に色が変わり、元に戻ります。

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

上記のセレクターを使用してください

于 2012-04-15T13:52:38.983 に答える
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>
于 2012-04-15T22:04:07.093 に答える