1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  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 gefällt das.
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Bei Klick auf Imagebutton das Bild darin ändern Android App Entwicklung 12.08.2017
[ERLEDIGT] Android Studio - Buttons zu bestimmten Punkten per klick bewegen lassen Android App Entwicklung 20.07.2017
[OFFEN] Welches Intent erzeugt der Klick im Homescreen auf das Icon einer App? Android App Entwicklung 20.06.2017
[OFFEN] Klick auf Marker soll ein zweites kleineres Layout anzeigen, Map soll trotzdem noch scrollbar (verwendbar) sein Android App Entwicklung 04.04.2017
[ERLEDIGT] Buttontext per klick ändern Android App Entwicklung 14.03.2017
Button Titel bei Klick ändern Android App Entwicklung 17.01.2017
App stürzt beim Button Klick ab Android App Entwicklung 12.01.2017
Aktuelle Position google maps Android App Entwicklung 20.12.2016
Du betrachtest das Thema "Position des "Klicks" grafisch simulieren" im Forum "Android App Entwicklung",