1 <!-- 2 Copyright 2013 The Android Open Source Project 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 --> 16 17 <!-- 18 For list items that contain secondary actions (in this case, 'delete'), 19 it's important to use dividers to distinguish the primary touch target from 20 the secondary action. This is done using android:showDividers and its 21 related attributes. 22 23 The android:dividerPadding attribute insets the divider line by the given 24 amount on each side (in this case, top and bottom). Divider padding helps 25 establish visual hierarchy when several dividers are used in a screen. In 26 this case, the padding helps separate this vertical divider from horizontal 27 list item separators in the main ListView, and establishes a stronger 28 relationship between the delete action and the primary target to its left. 29 --> 30 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 31 android:orientation="horizontal" 32 android:layout_width="match_parent" 33 android:layout_height="wrap_content" 34 android:minHeight="?android:listPreferredItemHeight" 35 android:divider="?android:dividerVertical" 36 android:dividerPadding="8dp" 37 android:showDividers="middle"> 38 39 <!-- 40 Any view or view group can become interactive by simply setting the 41 android:clickable and android:focusable attributes to true. 42 43 When doing this, make sure to provide adequate touch feedback by also 44 setting the view background to ?android:selectableItemBackground. When 45 using the Holo theme, this drawable is transparent by default, but 46 changes to a translucent color overlay when the view is pressed or 47 focused. 48 --> 49 <LinearLayout android:id="@+id/primary_target" 50 android:layout_width="0dp" 51 android:layout_height="match_parent" 52 android:layout_weight="1" 53 android:orientation="vertical" 54 android:paddingLeft="?android:listPreferredItemPaddingLeft" 55 android:paddingRight="?android:listPreferredItemPaddingRight" 56 android:clickable="true" 57 android:focusable="true" 58 android:gravity="center_vertical" 59 android:background="?android:selectableItemBackground"> 60 61 <TextView style="?android:textAppearanceListItemSmall" 62 android:id="@android:id/text1" 63 android:layout_width="wrap_content" 64 android:layout_height="wrap_content" 65 android:text="@string/dummy_title" /> 66 67 <TextView style="?android:textAppearanceSmall" 68 android:id="@android:id/text2" 69 android:layout_width="wrap_content" 70 android:layout_height="wrap_content" 71 android:text="@string/dummy_subtitle" /> 72 73 </LinearLayout> 74 75 <!-- 76 When using the Holo theme, setting a Button or ImageButton to 77 ?android:borderlessButtonStyle removes its border and sets the 78 background to ?android:selectableItemBackground, as described above. 79 --> 80 <ImageButton android:id="@+id/secondary_action" 81 style="?android:borderlessButtonStyle" 82 android:layout_width="@dimen/standard_touch_target_size" 83 android:layout_height="match_parent" 84 android:src="@drawable/ic_action_delete" 85 android:contentDescription="@string/delete_content_description" /> 86 87 </LinearLayout>