Aoyama Nanami
Aoyama Nanami

Reputation: 2562

android : How to change background layout when focus and active

i have a problem when deploy my app, i want to change background layout color when focus and active, but when i run my aplication, there's nothing happen, this is my code :

<LinearLayout
                        android:layout_width="fill_parent"
                         android:layout_height="wrap_content"
                            android:orientation="horizontal"
                        android:visibility="visible" >

                        <LinearLayout 
                            android:layout_width="600dp"
                            android:layout_height="wrap_content"
                              android:layout_weight="0.8"
                                 android:layout_marginBottom="8dp"
                               android:layout_marginTop="8dp"
                                 android:layout_marginLeft="30dp"
                                 android:focusable="true"
       android:clickable="true"
        android:background="@drawable/layout_state"
        android:orientation="vertical">

                            <LinearLayout 
                                android:layout_width="fill_parent"
                           android:layout_height="80dp"
                          android:layout_margin="5dp"
                          android:layout_gravity="center"
                             android:background="@drawable/border_corner_baris2"
                              android:orientation="horizontal">

                                <TextView
                                    style="@style/Textview_for_label"
                                     android:layout_width="230dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
                                    android:text="Nama Lengkap \n(Sesuai KTP / Identitas Lain)" />

                                <LinearLayout
                                    android:layout_width="match_parent"
                                android:layout_height="fill_parent"
                                 android:layout_gravity="center"
                                 android:background="@drawable/border_corner_baris3"
                                 android:orientation="horizontal" >

                                    <LinearLayout 
                             android:layout_width="match_parent"
                               android:layout_height="fill_parent"
                              android:layout_marginRight="10dp"
                             android:layout_gravity="center"
                            android:background="@drawable/border_corner_4"
                           android:orientation="horizontal" >

                                        <EditText
                                            android:id="@+id/nama_pp"
                                            style="@style/edittext_border_corner_3"
                                               android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_marginLeft="20dp" />
                                    </LinearLayout>
                                </LinearLayout>
                            </LinearLayout>
                        </LinearLayout>

                        <ImageView style="@style/image_view" />
                    </LinearLayout>

and this is my layout_state :

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >

  <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/border_corner_baris1" />
    <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/border_corner_baris1" />
    <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/border_corner_baris1_klik" />
    <item android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/border_corner_baris1_klik" />
    <item android:state_enabled="true" android:drawable="@drawable/border_corner_baris1" />
    <item android:state_focused="true" android:drawable="@drawable/border_corner_baris1_klik" />
    <item android:drawable="@drawable/border_corner_baris1" />
    </selector>

is this possible to make this condition happen on my apps? i hope somebody can help me to solve my problem, thank you very much.

Upvotes: 1

Views: 2120

Answers (1)

berserk
berserk

Reputation: 2728

It wont work unless there is click listener present on the view(Linear Layout in your case). Either add

android:clickable="true"

in your linear layout, or add the OnClickListener to the linear layout in your activity.

Upvotes: 1

Related Questions