Qu'est-ce que AttributeSet dans Android?
Comment puis-je l'utiliser pour ma vue personnalisée?
Qu'est-ce que AttributeSet dans Android?
Comment puis-je l'utiliser pour ma vue personnalisée?
Vous pouvez utiliser AttributeSet afin d'obtenir plus de, des valeurs personnalisées pour votre point de vue que vous définissez dans le fichier xml. Par exemple. Il y a un tutoriel sur le sujet de la Définition des Attributs Personnalisés qui stipule qu'il "est possible de lire les valeurs de la AttributeSet directement", mais il ne dit pas comment le faire. Il n'mettre en garde, cependant, que si vous n'utilisez pas de style attributs, puis:
Si vous voulez ignorer l'ensemble de style attributs chose et obtenir les attributs directement:
example.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://www.chooseanything.org">
<com.example.CustomTextView
android:text="Blah blah blah"
custom:myvalue="I like cheese"/>
</LinearLayout>
Remarque: il existe deux lignes de xmlns (xmlns = espace de noms XML), la seconde est définie comme xmlns:custom. Puis ci-dessous que la coutume:mavaleur est défini.
CustomTextView.java
public CustomTextView( Context context, AttributeSet attrs )
{
super( context, attrs );
String sMyValue = attrs.getAttributeValue( "http://www.chooseanything.org", "myvalue" );
// Do something useful with sMyValue
}
AttributeSet est l'ensemble des propriétés spécifiées dans un fichier de ressources xml. Vous ne devriez rien faire de spécial dans votre vue personnalisée. Le View(Context context, AttributeSet attrs)
est appelé pour initialiser une vue à partir d'un fichier de mise en page. Ajoutez simplement ce constructeur à votre vue personnalisée. Consultez l'exemple d' affichage personnalisé dans le SDK pour le voir utilisé.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.