J'ai un personnalisé_listitem1.xml fort> p> listview code>. Custom_LisTem1.xml est utilisé pour l'affichage des éléments dans la liste. Maintenant, je veux définir la ressource de couleur code> Sélecteur code> (list_selector_color.xml) pour l'arrière-plan de l'élément.
06-06 18:38:19.422: ERROR/AndroidRuntime(18603): Uncaught handler: thread main exiting due to uncaught exception
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.LayoutInflater.createView(LayoutInflater.java:513)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.ResourceCursorAdapter.newView(ResourceCursorAdapter.java:79)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.SimpleCursorAdapter.newView(SimpleCursorAdapter.java:96)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.CursorAdapter.getView(CursorAdapter.java:182)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.AbsListView.obtainView(AbsListView.java:1274)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.ListView.makeAndAddView(ListView.java:1668)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.ListView.fillDown(ListView.java:637)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.ListView.fillFromTop(ListView.java:694)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.ListView.layoutChildren(ListView.java:1521)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.AbsListView.onLayout(AbsListView.java:1113)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1108)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.onLayout(LinearLayout.java:920)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.layout(View.java:6830)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.ViewRoot.performTraversals(ViewRoot.java:996)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.os.Handler.dispatchMessage(Handler.java:99)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.os.Looper.loop(Looper.java:123)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.app.ActivityThread.main(ActivityThread.java:4363)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at java.lang.reflect.Method.invokeNative(Native Method)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at java.lang.reflect.Method.invoke(Method.java:521)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at dalvik.system.NativeStart.main(Native Method)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): Caused by: java.lang.reflect.InvocationTargetException
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.TextView.<init>(TextView.java:329)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at java.lang.reflect.Constructor.constructNative(Native Method)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.LayoutInflater.createView(LayoutInflater.java:500)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): ... 52 more
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): Caused by: android.content.res.Resources$NotFoundException: File res/color/list_selector_color.xml from drawable resource ID #0x7f070000
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.content.res.Resources.loadDrawable(Resources.java:1693)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.view.View.<init>(View.java:1850)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): at android.widget.TextView.<init>(TextView.java:335)
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): ... 56 more
06-06 18:38:19.445: ERROR/AndroidRuntime(18603): Caused by: org.xmlpul
6 Réponses :
Où stockez-vous la liste_selector_color.xml?
Si c'est en RES / Couleur, essayez de le déplacer à Res / Dutable
et appelez comme android: fond = "@ drables / list_selector_color" code> p>
Cela ne fonctionne pas - le fichier list_selector_color.xml provoque une erreur d'exécution car chaque <élément> doit avoir une androïde: définie d'attributs dotables s'il est tiré à partir des dossiers introactifs. Avoir Android: Le jeu de couleurs n'est pas suffisant. : \
Vous devez créer puis comment utiliser la couleur? Veuillez voir cet exemple et ajouter la ligne de +++++++
Exemple de fichier principal.xml p> color.xml code> dans ...
\ res \ valse \ color.xml code> répertoire de projet.
Exemple color.xml code> fichier
Je veux montrer une couleur différente à différents états (E.g pressé, Focus) pour TextView. Comment cela est-il possible sur votre chemin?
Oui, il est possible si vous définissez chaque textview code> dans chaque
linearlayout code> alors ça fonctionne. P>
Pouvez-vous choisir un exemple de code comment nous pouvons définir différentes couleurs à différents endroits (E.g pressé, Focus) pour linearlayout?
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:background="@color/background"//color 1 > <TextView android:id="@+id/tvheader" android:layout_width="300dip" android:layout_height="wrap_content" android:background="#EC7703" android:textColor="#000000" android:text=" Edit Items" /> /> <TextView android:id="@+id/tvsl" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000" android:background="@color/translucent_red"//color 2 /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/background"> <EditText android:id="@+id/txtsl" android:maxLines="1" android:layout_marginTop="3dip" android:layout_marginBottom="2dip" android:layout_width="wrap_content" android:ems="20" android:layout_height="wrap_content"/> </LinearLayout> <TextView android:id="@+id/tvname" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000" android:background="@color/background" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/row"> <Spinner android:id="@+id/txtname" android:layout_width="200dip" android:layout_height="wrap_content" android:drawSelectorOnTop="true" android:prompt="@string/medicine_info" android:layout_toRightOf="@id/slcolon" /> </LinearLayout> <TextView android:id="@+id/tvqty" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000" android:background="@color/background" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/background"> <EditText android:id="@+id/txtqty" android:maxLines="1" android:layout_marginTop="3dip" android:gravity="right" android:layout_marginBottom="2dip" android:layout_width="wrap_content" android:ems="20" android:layout_height="wrap_content"/> </LinearLayout> <TextView android:id="@+id/tvuom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000" android:background="@color/background" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/background"> <EditText android:id="@+id/txtuom" android:maxLines="1" android:layout_marginTop="3dip" android:layout_marginBottom="2dip" android:layout_width="wrap_content" android:ems="20" android:layout_height="wrap_content"/> </LinearLayout> <TableLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@color/background" android:layout_gravity="center" android:stretchColumns="*" > <TableRow> <Button android:id="@+id/Btnok" android:text="Edit" /> <Button android:id="@+id/Btndelete" android:text="Delete" /> <Button android:id="@+id/Btncancel" android:text="Cancel" /> </TableRow> </TableLayout> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="40dip" android:background="#F7BE57">//collor change by using color code <TextView android:id="@+id/maincolon" android:layout_width="wrap_content" android:layout_height="40dip" android:text=" " /> <TextView android:id="@+id/tvprovider" android:layout_width="wrap_content" android:layout_height="40dip" android:textColor="#000000" android:text="Provider : Softworks" /> </LinearLayout> </LinearLayout>
J'ai besoin de couleurs différentes à différents états (E.g pressé, focus) de la même vue. La couleur par défaut est noire, sur la touche, elle sera jaune, si elle est focalisée, elle sera rouge. Comment cela est-il possible dans votre code?
Maintenant, je comprends que ce que vous voulez dire.Ok Voir l'exemple suivant
<?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/btn_dial_textfield_pressed" /> <item android:state_focused="true" android:drawable="@drawable/btn_dial_textfield_selected" /> <item android:drawable="@drawable/btn_dial_textfield_normal" />//btn_dial_textfield_normal is a .png image resource into drowable folder "btn_dial_textfield_normal.png" </selector>
Vous ne pouvez pas utiliser de sélecteur de couleur comme arrière-plan. Vous pouvez utiliser un sélecteur diguable à la place:
android:background="@drawable/list_selector_color"
Mec! Je n'ai jamais pensé à créer la forme dans la balise
où vous avez mis votre fichier list_selector_color.xml dans votre projet.
Je recommande de mettre "listelector color.xml" dans le dossier RES / Drapable. Si cela n'existe pas, créez d'abord un dossier "dessinable" sous répertoire RES.