3 Stimmen

Wie kann man visuelles Feedback geben, wenn der Benutzer auf ImageView tippt?

Ich habe eine Ansicht in der Benutzeroberfläche, die technisch eine erweiterte ImageView innerhalb eines RelativeLayout ist, die ich lieber nicht ändern würde, wenn möglich. Ich möchte ein Drawable aus Ressourcen (ein kleines PNG mit einem Farbverlauf oder einem Rahmen) an bestimmten Koordinaten als visuelles Feedback zeigen, wenn Benutzer den Bildschirm tippen (es gibt sogar einen onShowPress Callback). Was ist der einfachste Weg, dies zu tun? Ich möchte nicht die layout.xml ändern, aus denen UI aufgeblasen wird, und ich bin nicht zu begeistert über onDraw überschreiben, um zusätzliche Arbeit dort zu tun.

4voto

Lumis Punkte 21217

Dies ist eine einfache Möglichkeit, dies mit der Klasse View Animation zu tun:

final ImageView aboutButton =   (ImageView) findViewById(R.id.AboutButton);
aboutButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    Animation myAnim2 = AnimationUtils.loadAnimation(LaunchActivity.this, R.anim.buttons);              
    aboutButton.startAnimation(myAnim2);
    myAnim2.setAnimationListener(new AnimationListener() {
        public void onAnimationEnd(Animation animation) {

        //do on click after animation ends
        Intent intent = new Intent(LaunchActivity.this, MyDialog.class);
        startActivity(intent);  
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }

        @Override
        public void onAnimationStart(Animation animation) {
        //change the backround of the button etc on click etc...                            
        }
    });                                     
}});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X