2010-08-09 5 views
0

Comment puis-je dessiner une vue dynamique sur le dessus de l'écran principal dans android.retirer vue et xml dans android

Par exemple, j'affiche l'écran principal en utilisant setContentView (R.layout.main); Cela attire de nombreux widgets et comprend une image définie dans main.xml cette façon:

<ImageView 
android:id="@+id/myImageView" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/sinewave"/> 

Maintenant, si je voudrais dessiner un rectangle sur cette image, comment puis-je le faire? Merci pour votre temps.

+0

Avez-vous lu dans la documentation Android? Plus précisément, http://developer.android.com/guide/topics/graphics/2d-graphics.html pourrait vous aider à démarrer. –

Répondre

0

Pour dessiner quelque chose sur l'écran au lieu d'utiliser un Widget prédéfini:

Vous créez une classe de vue personnalisée.

public class yourCustomView extends View { 
} 

Vous ajoutez ce point de vue personnalisé à votre disposition xml.

<view class="your.package.path.yourCustomView" 
    android:id="@+id/myView" 
    android:layout_width="fill_parent" 
    android:layout_height="50dip" 
    /**you can add other xml attributes that are defined for View**/ 
/> 

Vous substituez la méthode onDraw() pour faire dessiner des choses que vous voulez sur la toile.

@Override 
protected void onDraw(Canvas canvas) { 
    /**draw stuff here**/ 
} 
0

Assurez-vous d'utiliser ce constructeur si vous utilisez la mise en page XML:

public yourCustomView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
}