[Android] Drag & Drop speelkaarten in hand

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dirkjo
  • Registratie: Oktober 2008
  • Laatst online: 08-09 18:25
Ik ben bezig met het maken van een Android kaartspel, maar nu loop ik vast op een bepaald punt. Ik wil graag dat mensen de mogelijkheid hebben om de kaarten in hun hand te sorteren. Een hand bestaat uit 13 (Er is een 14e kaart, maar deze is elke keer afkomstig uit de pot en dus tijdelijk) kaarten, deze kaarten staan allemaal in een ImageView welke op zijn beurt weer in een LinearLayout staat.

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    <LinearLayout
        android:id="@+id/llCardDeck"
        android:layout_width="wrap_content"
        android:layout_height="90dp"
        android:layout_alignParentBottom="true"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:weightSum="14" >

        <ImageView
            android:id="@+id/ivcard0_1"
            android:layout_width="wrap_content"
            android:layout_height="70dp"
            android:layout_gravity="bottom"
            android:layout_weight="1"
            android:src="@drawable/bred" />

        <ImageView
            android:id="@+id/ivcard0_2"
            android:layout_width="wrap_content"
            android:layout_height="70dp"
            android:layout_gravity="bottom"
            android:layout_marginLeft="-25dp"
            android:layout_weight="1"
            android:src="@drawable/bred" />

        <ImageView
            android:id="@+id/ivcard0_3"
            android:layout_width="wrap_content"
            android:layout_height="70dp"
            android:layout_gravity="bottom"
            android:layout_marginLeft="-25dp"
            android:layout_weight="1"
            android:src="@drawable/bred" />

        [enz, enz enz enz...]
        
    </LinearLayout>


Nu wil ik dus graag dat mensen de inhoud van de ImageView kunnen verplaatsen. Nu heb ik gisteren lopen klooien met een onTouchListener voor elke kaart, maar ik kreeg het niet voor elkaar.

Wat ik graag wil is het volgende:
  • Gebruiker pakt de kaarten en beweegt naar links/rechts
  • De kaart (ImageView) naast de betreffende kaart veranderd vervolgens in de kaart die de persoon vast heeft. Afhankelijk van de richting waar hij heen beweegt is het de linker of rechter kaart
  • De gebruiker laat de kaart los en zijn hand wordt geupdate.
Het schrijven van de code die de hand weer update lukt me wel. Het schrijven van de code die de eerste twee stappen beschrijft echter niet.

Is er iemand die me vooruit kan helpen met dit probleem?

Alvast bedankt! :)

//EDIT
Onderstaande code laat zien hoe ik op dit moment de TouchListener (en ClickListener) bind aan de speelkaarten
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int cardIndex = 0; cardIndex < playerCards.length; cardIndex++) {
    final ImageView card = playerCards[cardIndex];
    final int finalIndex = cardIndex;

    card.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            markPlayerCardSelected(finalIndex);
        }
    });

    card.setOnTouchListener(this);
}

[ Voor 9% gewijzigd door Dirkjo op 18-01-2013 14:27 ]


Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 10:02
Ik zou kijken naar http://www.vogella.com/ar...dDragAndDrop/article.html
En dan in het bijzonder bij de onTouch(View view, MotionEvent motionEvent)