Comment Déplacer un ShapeDrawable en Toile sur les Événements Tactiles
Je suis en train de mettre en œuvre une Application de Dessin dans Android. Où l'utilisateur doit être en mesure de sélectionner et de déplacer les formes dessinées.
Actuellement, j'ai statiquement tiré quelques rectangles et le texte sur mon Dessin:
View mDrawingCanvas = new View(mContext)
{
ShapeDrawable rectangle;
@Override
public boolean isFocused() {
//TODO Auto-generated method stub
Log.d(TAG, "View's On focused is called !");
return super.isFocused();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//TODO Auto-generated method stub
return super.onTouchEvent(event);
}
@Override
protected void onDraw(final Canvas canvas) {
super.onDraw(canvas);
//Work out current total scale factor
//from source to view
final float scale = mSourceScale*(float)getWidth()/(float)mSize.x;
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
//Custom View
rectangle = new ShapeDrawable(new RectShape());
rectangle.getPaint().setColor(Color.GRAY);
rectangle.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
rectangle.getPaint().setStrokeWidth(3);
rectangle.setBounds((int)(50*scale), (int)(30*scale), (int)(200*scale), (int)(150*scale));
rectangle.draw(canvas);
rectangle.getPaint().setColor(Color.BLUE);
rectangle.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
rectangle.getPaint().setStrokeWidth(3);
rectangle.setBounds((int)(200*scale), (int)(200*scale), (int)(400*scale), (int)(350*scale));
rectangle.draw(canvas);
}
};
Je veux sélectionner (tirage au sort des frontières sur la forme sélectionnée) et déplacer les Formes dessinées dans onTouch événements de la zone de dessin.
Certains ont une, merci de me guider à ce sujet, toute aide est Très Appréciée.
OriginalL'auteur Salman Khakwani | 2013-10-14
Vous devez vous connecter pour publier un commentaire.
Cette réponse a démontré la Forme Mouvement de la Méthodologie que je cherchais.
Et mon problème est résolu maintenant. Le Lien est :
Faites glisser et déplacer un cercle tracé sur la toile
OriginalL'auteur Salman Khakwani
Vous devez enregistrer les positions X et Y dans l'événement de touche et de les utiliser lors de l'élaboration de vos formes.
Ci-dessous est un exemple de base de la façon de le faire, mais vous avez besoin de l'améliorer (vérifier si le contact est à l'intérieur de l'objet et de ne modifier que les valeurs de cet objet)
Exemple:
OriginalL'auteur Mikel