1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Baggy, 02.07.2012 #1
    Baggy

    Baggy Threadstarter Neuer Benutzer

    Hi Leute,
    ich wollte gerne einen cursor in meine app einbauen.
    Also ein kleines bild, dass man per Berührung in die
    gewollte Richtung verschieben kann.
    Habe mir in Zusammenhang mit dem onTouch listener
    folgendes aus dem Internet gesucht:

    public boolean onTouch(View v, MotionEvent event)
    {
    switch (event.getAction())
    {
    case MotionEvent.ACTION_DOWN:
    {
    // Here u can write code which is executed after the user touch on the screen
    break;
    }
    case MotionEvent.ACTION_UP:
    {
    // Here u can write code which is executed after the user release the touch on the screen
    break;
    }

    case MotionEvent.ACTION_MOVE:
    {
    // Here u can write code which is executed when user move the finger on the screen
    break;
    }

    }
    return true;
    }

    soweit, so gut.
    Wie lauten nun aber die Befehle für das, was ich
    haben will?
    Hoffe Ihr könnt mir helfen.
     
  2. BFK, 03.07.2012 #2
    BFK

    BFK Erfahrener Benutzer

    Hi,
    du kannst mittels:

    Code:
    int x = (int)event.getX();
    int y = (int)event.getY();
    
    die Koordinaten auffangen und somit reagieren, bzw. testen wo der user getoucht hat, ob er dein cursor berührt und wenn ja dann Bild (Cursor) verschieben (bei ACTION_MOVE).
     
  3. Baggy, 05.07.2012 #3
    Baggy

    Baggy Threadstarter Neuer Benutzer

    also, mein erstes ziel:
    ein bild mit dem namen "cursor" soll an
    der stelle erscheinen, auf die mal tippt.
    also noch ohne ziehen.

    habe mir jetzt mal folgenden code zusammen
    gebastelt.
    kann mir jemand weiterhelfen?



    public class MainActivity extends Activity implements OnTouchListener
    {
    ImageView img;

    float x;
    float y;

    protected void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    img = (ImageView) findViewById(R.id.cursor);
    img.setOnTouchListener(this);

    x = 0;
    y = 0;

    }

    public void run (){
    img.setX(x);
    img.setY(y);
    img = new ImageView(this);

    }

    public boolean onTouch(View v, MotionEvent event)
    {
    x = event.getX();
    y = event.getY();


    return false;
    }
    }
     

Diese Seite empfehlen