2012-04-01 3 views
0

J'essaie de définir l'arrière-plan de la flèche droite, que lorsque je l'appuie, seul l'arrière-plan autour de la flèche s'affiche (jusqu'au séparateur).Afficher la disposition des éléments de la vue dans Android

J'ai essayé de le faire avec le bouton Image, mais quand je le fais comme ça, l'élément de la liste ne peut pas être cliquable.

voici ma liste d'éléments XML mise en page:

xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="5dip" 
    android:paddingLeft="2dip" 
    android:paddingRight="2dip" 
    android:paddingTop="5dip" > 

    <ImageView 
     android:id="@+id/itemlist_checkedd" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:adjustViewBounds="true" 
     android:src="@drawable/ic_checkitem" /> 


    <ImageView 
     android:id="@+id/skinpreview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toRightOf="@id/itemlist_checkedd" 
     android:scaleType="fitXY" /> 

    <ImageButton 
     android:id="@+id/skinEdit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:adjustViewBounds="true" 
     android:paddingLeft="10dip" 
     android:background="@null" 
     android:src="@drawable/ic_go_edit" /> 

    <ImageView 
     android:id="@+id/separator" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toLeftOf="@id/skinEdit" 
     android:layout_marginRight="5dip" 
     android:src="@drawable/separator"/> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="2dip" 
     android:layout_marginRight="15dip" 
     android:layout_toRightOf="@id/skinpreview" 
     android:layout_toLeftOf="@id/separator" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

Voici à quoi il ressemble:

enter image description here

Toutes les suggestions ??? Merci.

Répondre

1

sélecteur Créer un fichier xml dans res/drawable

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
    android:state_pressed="true" 
    android:drawable="@drawable/arrow_pressed" /> 
    <item 
    android:state_pressed="false" 
    android:drawable="@drawable/arrow" /> 
</selector> 

Vous devez créer une autre image de la flèche avec la fond en surbrillance dont vous avez besoin.

bien sûr puis attribuez-lui votre ImageView src dans le fichier XML (arrow_selector.xml) par exemple

+0

Merci pour votre réponse. Une autre question, comment puis-je étirer seulement l'image "flèche enfoncée", que cela va adapter toute la zone droite jusqu'à l'image du séparateur? –

+0

Créez simplement l'image dont vous avez besoin dans photoshop pour arrow_pressed (plus grand/plus petit/bleu/streched), si vous voulez dire autre chose, vous pouvez déclarer l'image dans votre code, ImageView arrow = (ImageView) findViewById (R.id.arrow) ; Ensuite, utilisez les fonctions de la flèche pour jouer avec les propriétés xml de cette image et faites-le dans la fonction onClick(). –

1

mettre juste la couleur d'arrière-plan ou une image à la vue parent dans ce xml

Questions connexes