1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. loevenwong, 15.01.2010 #1
    loevenwong

    loevenwong Threadstarter Neuer Benutzer

    Hallo,

    ich habe eine Anwendung gebastelt, die u. a. ein Bild anzeigt.
    Wenn nun der Anwender auf bestimmte Positionen im Bild klickt, soll die Stelle kurz gekennzeichnet werden.
    Geht das irgendwie relativ einfach oder muss ich dafür alles selber zeichnen?

    Danke
     
  2. Fr4gg0r, 15.01.2010 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Was meinst du mit alles selber zeichnen?

    Ansonsten musst du wohl onTouchEvent in deine View implementieren und dann bekommst du mit event.getX() und event.getY() die Koordinaten, an denen der Bildschirm berührt wurde.

    In die onDraw() schreibst du dann rein:
    canvas.drawPicture();
    canvas.drawRect(x-5, y+5, x+5, y-5, paint);

    Damit würdest du ein Rechteck um dein berührten Punkt herumzeichnen.
     
    Zuletzt bearbeitet: 15.01.2010
  3. loevenwong, 15.01.2010 #3
    loevenwong

    loevenwong Threadstarter Neuer Benutzer

    Danke schon mal für Deine Antwort.

    Bislang habe ich "nur" ein AbsoluteLayout genommen, mein Bild als Hintergrund gesetzt und über ein paar Positionen einen unsichtbaren Button platziert.
    Funktioniert zwar, ist allerdings sehr unschön, da die "onClick" nicht dem User signalisiert werden.
    Momentan setze ich nur die View per "setContentView(R.layout.photo);"

    Mit zeichnen meinte ich halt die komplette Bearbeitung mit einer eigenen View und "onDraw" umzusetzen. Wenn ich das dann schon mache, sollte ich wahrscheinlich auch direkt die Buttons entfernen und das über die Positionen bestimmen, oder? :rolleyes:
     
  4. Fr4gg0r, 15.01.2010 #4
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Ok,

    dann mach eine neue Klasse auf in deinem Package (da wo auch deine andere java Klasse drin ist).

    Die nennst du dann z.B. PicView, diese extended dann View
    Code:
    public class PicView extends View {
    public Paint paintRect;
    public float x = 0;
    public float y = 0;
    public Resources res;
    public Picture pic;
    public PicView(Context context) //notwendig
    super(context);
    [FONT=Arial]res = context.getResources();
    [/FONT] [FONT=Arial]pic= res.getDrawable(R.drawable.pic[/FONT][FONT=Arial]);
    pic.setBounds(links, oben, rechts, unten);   // wo dein Bild hinsoll 
    [/FONT]  @Override
    public boolean onTouchEvent(MotionEvent event) {
    if(event.getAction() == MotionEvent.ACTION_DOWN) // der bildschirm wurde berührt
    x=event.getX();
    y=event.getY();
    invalidate();  //ruft onDraw auf
    }
    @Override
    public void onDraw(Canvas canvas){
    picture.draw(canvas);
    canvas.drawRect(x-5, y-5, x+5, y+5, paintRect);
    }
    
    
    Die xml lässte dann einfach außen vor.
    In deiner Activity Klasse machst du dann setContentView(new PicView(this));
    (Ist zumindest eine Möglichkeit)

    Somit sparste dir die ganzen Buttons und ButtonListener und ne Menge Code :)

    Edit: ja ist dann wohl der einfachste Weg
     
    Zuletzt bearbeitet: 15.01.2010
    loevenwong bedankt sich.
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Keyboard Press simulieren Android App Entwicklung 13.11.2018
Klick-Effekt bei Doppelklick ausschalten? Android App Entwicklung 06.09.2018
Bild öffnen bei Klick Android App Entwicklung 25.01.2018
HorizontalScrollView oberhalb ConstraintLayout positionieren Android App Entwicklung 24.01.2018
Spinner Position der Dropdown Liste Android App Entwicklung 05.01.2018
Du betrachtest das Thema "Position des "Klicks" grafisch simulieren" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.