2010-10-23 24 views
0

J'ai un petit fichier xml appelé « xmlview.xml » qui est quelque chose comme:Android: dessiner sur une vue à l'intérieur d'un fichier XML gonflé (autre vue)

<tablelayout> 
    <tablerow> 
     <view id="view1" /> 

J'ai créé une classe qui étend vue, et J'ai gonflé ce fichier XML et maintenant j'ai une vue obtenue en raison de l'inflation.

xmlView = layoutInflater.inflate(R.layout.xmlview, this); 

Je me demande est-il un moyen de tirer sur la vue « view1 » dans la vue « xmlview »

J'ai essayé quelque chose comme:

View view1 = (View)xmlview.findById(R.Id.view1); 

puis j'ai essayé dans le overriden onDraw pour dessiner sur view1 mais rien n'a fonctionné,

des idées?

Répondre

0

Je ne sais pas exactement ce que vous entendez par "dessiner sur la vue", mais il semble que vous devriez regarder dans le Canvas. Vous ne devez pas remplacer arbitrairement la méthode onDraw, c'est ce qui provoque l'apparition de vos widgets à l'écran.

2

Il me semble peut-être vous devriez essayer quelque chose comme ceci:

<TableLayout> 
    <TableRow> 
    <com.yourdomain.yourproject.ViewClassName> 

Ensuite, vous pouvez créer une ViewClassName de classe qui étend vue et, sur cette classe, remplacer la méthode onDraw. Ceci est expliqué en détail ici: http://developer.android.com/guide/topics/ui/custom-components.html. Vous pouvez aller directement au sujet Modifier un type de vue existant

Vous n'avez pas besoin de gonfler la vue si la seule raison de procéder est d'essayer de manipuler le dessin de la vue. Et si c'est la seule raison, vous ne devriez vraiment pas. Je souhaite aider