Reflector - Listview avec coins arrondis (utilisation d'un fichier xml)
bonjour
Bon la : ( j'ai de réelles difficultés à réaliser une Listview avec coins arrondis en utilisant un fichier XML.
A l'issue des excellents tutos d'Erel (image 9-patch), d'Informatix (mais comment font-ils), warwound (xml file) et de Klaus (Reflector) je me suis dit "bingo" à toi lol
J'ai trouvé sur le site stackoverflow un fichier roundedcorner.xml qui fait celà
et pour l'intégrer à mon package je dois exécuter en java "ListView.(R.drawable.roundedcorner);"
Mais voilà de la théorie à la pratique ..... et ben il me manque encore quelques liens .... ou de bons tuyaux ... Merci à vous
Mon environnement : Galaxy note 2 - B4a v1.50 sur android api-16 - Reflector v2.10
Fichier roundedcorner.xml
ce fichier xml, attributs en "lecture seule", est placé dans mon dossier ..../objects/res/drawable
Extrait de mon appli :
A l'exécution une exception est levée sur la ligne id = r.GetStaticField( ..... :
..... java.lang.NoSuchFieldException: roundedcorner
En vous remerciant pour vos conseils
bonjour
Bon la : ( j'ai de réelles difficultés à réaliser une Listview avec coins arrondis en utilisant un fichier XML.
A l'issue des excellents tutos d'Erel (image 9-patch), d'Informatix (mais comment font-ils), warwound (xml file) et de Klaus (Reflector) je me suis dit "bingo" à toi lol
J'ai trouvé sur le site stackoverflow un fichier roundedcorner.xml qui fait celà
et pour l'intégrer à mon package je dois exécuter en java "ListView.(R.drawable.roundedcorner);"
Mais voilà de la théorie à la pratique ..... et ben il me manque encore quelques liens .... ou de bons tuyaux ... Merci à vous
Mon environnement : Galaxy note 2 - B4a v1.50 sur android api-16 - Reflector v2.10
Fichier roundedcorner.xml
B4X:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="90"
android:endColor="#C0C0C0"
android:startColor="#808080" />
<corners
android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp" />
<stroke
android:width="1px"
android:color="#000000" />
</shape>
ce fichier xml, attributs en "lecture seule", est placé dans mon dossier ..../objects/res/drawable
Extrait de mon appli :
B4X:
'Activity module
Sub Process_Globals
End Sub
Sub Globals
Dim p1, p2 As Panel
Dim ListView1 As ListView
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Glossaire")
AfficheGlossaire
End Sub
Sub AfficheGlossaire
...
p1.Initialize("p1")
Activity.AddView (p1, 0, 0, Activity.Width, Activity.Height)
...
ListView1.Initialize("ListView1")
p1.AddView(ListView1, 5%x, 95dip, 90%x, 80%y)
...
' To create a listview with rounded corners create a shape in xml
' Create roundedcorner.xml in the res/drawable
SetDrawable(ListView1, "roundedcorner")
End Sub
Sub SetDrawable(Control As ListView, XMLName As String)
'*** In java set your listview : ListView.(R.drawable.roundedcorner);
Dim r As Reflector
Dim package As String
Dim id As Int
package = r.GetStaticField("anywheresoftware.b4a.BA", "packageName")
id = r.GetStaticField(package & ".R$drawable", XMLName)
r.Target = r.GetContext
r.Target = r.RunMethod("getResources")
Control.Background = r.RunMethod2("getDrawable", id, "java.lang.int")
End Sub
A l'exécution une exception est levée sur la ligne id = r.GetStaticField( ..... :
..... java.lang.NoSuchFieldException: roundedcorner
En vous remerciant pour vos conseils
Last edited: