Je veux le style de la lisview dans mon application comme on le voit est cette imageAppliquer le style à Android ListView
J'ai essayé de le développer par gradient application:
Codepour list_item_normal est:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:centerColor="#E6E6E6"
android:endColor="#CCCCCC"
android:startColor="#FFFFFF"
android:angle="270"/>
<!--
<gradient
android:startColor="#FF7500"
android:centerColor="#FFCC00"
android:endColor="#FF7500"
android:angle="270"/>
-->
<stroke
android:width="1dp"
android:color="#A0000000" />
<padding
android:bottom="8dp"
android:left="5dp"
android:right="5dp"
android:top="8dp" />
<corners android:radius="5dp" />
</shape>
Code
pour list_item_pressed.xml est:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:centerColor="#E6E6E6"
android:endColor="#CCCCCC"
android:startColor="#FFFFFF" android:angle="270"/>
<!--
<gradient android:startColor="#FF66CFE6" android:centerColor="#FF207FB9"
android:endColor="#FF0060B8" android:angle="270"/>
-->
<stroke
android:width="2dp"
android:color="#80000000" />
<padding
android:bottom="8dp"
android:left="5dp"
android:right="5dp"
android:top="8dp" />
<corners android:radius="7dp" />
</shape>
Code
pour list_item_pressed.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:centerColor="#E6E6E6"
android:endColor="#CCCCCC"
android:startColor="#FFFFFF" android:angle="270"/>
<!--
<gradient android:startColor="#FF66CFE6" android:centerColor="#FF207FB9"
android:endColor="#FF0060B8" android:angle="270"/>
-->
<stroke
android:width="2dp"
android:color="#80000000" />
<padding
android:bottom="8dp"
android:left="5dp"
android:right="5dp"
android:top="8dp" />
<corners android:radius="7dp" />
</shape>
et list_gradient.xml
<?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/list_item_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/list_item_selected" />
<item android:drawable="@drawable/list_item_normal" />
</selector>
et je l'ai appliqué ce style sur custom listitem
comme:
<TextView
.../>
<ImageView
... />
et le main.xml dans lequel j'ai lisview est:
<ListView
android:id="@+id/List"
style="@style/list_item_gradient"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true" >
</ListView>
et je reçois la sortie comme indiqué ci-dessous:
S'il vous plaît aidez-moi en disant ce que je fais mal ..
Merci Shruti
J'essayais de me salir les mains avec des mises en page personnalisées de la liste. J'ai fait ce qui était nécessaire comme l'état pressé, l'état sélectionné et l'état normal (comme mentionné dans vos fichiers drawable). J'ai également changé le style de disposition par défaut en list_item_gradient.Je cours dans les avertissements de chorégraphe que je peux faire trop de travail sur le fil principal. Quel pourrait être un travail possible pour cela? –
essayez d'utiliser la tâche asynchrone, pour réduire le travail sur le thread principal. – Shruti
J'ai aussi lu sur certains forums que c'est parce que le style n'a pas d'attribut parent. Comment en définir un? –