CopyPastor

Detecting plagiarism made easy.

Score: 0.7517869472503662; Reported for: String similarity Open both answers

Possible Plagiarism

Plagiarized on 2014-12-22
by Nirav Ranpara

Original Post

Original - Posted on 2012-05-08
by MichaƂ K



            
Present in both answers; Present only in the new answer; Present only in the old answer;

Create xml file in drawble
**list_selector.xml**
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/list_item_bg_normal" android:state_activated="false"/> <item android:drawable="@drawable/list_item_bg_pressed" android:state_pressed="true"/> <item android:drawable="@drawable/list_item_bg_pressed" android:state_activated="true"/> </selector>
**list_item_bg_normal.xml**
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="@color/list_background_pressed" android:endColor="@color/list_background_pressed" android:angle="90" /> </shape>
**list_item_bg_pressed.xml**
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#aed200" android:endColor="#aed200" android:angle="90" /> </shape>

<ListView android:id="@+id/listview_drawer" android:layout_width="match_parent" android:layout_gravity="start" android:layout_height="match_parent" android:background="@drawable/list_selector" android:dividerHeight="1dp" />
The solution by dglmtn doesn't work when you have a 9-patch drawable with padding as background. Strange things happen, I don't even want to talk about it, if you have such a problem, you know them.
Now, If you want to have a listview with different states and 9-patch drawables (it would work with any drawables and colors, I think) you have to do 2 things:
1. Set the selector for the items in the list. 2. Get rid of the default selector for the list.
**What you should do is first set the row_selector.xml:**
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/list_item_bg_pressed" /> <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/list_item_bg_focused" /> <item android:state_enabled="true" android:state_selected="true" android:drawable="@drawable/list_item_bg_focused" /> <item android:drawable="@drawable/list_item_bg_normal" /> </selector>
Don't forget the `android:state_selected`. It works like `android:state_focused` for the list, but it's applied for the list item.
**Now apply the selector to the items (row.xml):**
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="@drawable/row_selector" > ... </RelativeLayout>
**Make a transparent selector for the list:**

<ListView android:id="@+id/android:list" ... android:listSelector="@android:color/transparent" />
This should do the thing.

        
Present in both answers; Present only in the new answer; Present only in the old answer;