2016-12-27 3 views
0

Ich habe einige Kreisbilder in mein Layout eingefügt und möchte Inhalte anzeigen, wenn der Benutzer darauf zeigt oder ein Bild berührt. Ich habe versucht, auf Google zu suchen, aber ich fand nichts nützliches zu diesem Thema.Inhalt über Bild bei Hover/Touch in Android Studio anzeigen

I (d.h. auf test1 image) ein kleines Fenster (wie ein Pop-up-Fenster) mit Text und einem oder zwei Schaltflächen angezeigt werden sollte, wenn der Benutzer auf den Bildern schwebt.

Ist es möglich, dies in Android zu tun?

EDIT: Dies ist das Ergebnis, das ich erreichen möchte. Wenn in diesem Fall der Benutzer zum Beispiel den Mauszeiger berührt oder das Bild berührt, wird ein Popup-Fenster mit den Zusatzoptionen angezeigt.

enter image description here

 // Draw circles 
    canvas.drawCircle((canvas.getWidth()/2)-300, canvas.getHeight()/2,60,paint); 
    canvas.drawCircle((canvas.getWidth()/2), (canvas.getHeight()/2)-300,60,paint); 
    canvas.drawCircle((canvas.getWidth()/2)+300, (canvas.getHeight()/2),60,paint); 

    // load bitmap.. 
    Bitmap test = BitmapFactory.decodeResource(this.getResources(), R.drawable.img1); 
    Bitmap test1 = MLRoundedImageView.getCroppedBitmap(test, 160); 
    canvas.drawBitmap(test1, 468, 525, paint); 
+1

Was bedeutet "schweben" in einer Touchscreen-Umgebung bedeuten? Beziehen Sie sich auf Benutzer mit einer Art aktiven Stift? Oder beziehen Sie sich darauf, wenn der Benutzer eine Maus benutzt? Für diese können Sie [versuchen 'setOnHoverListener()'] (https://developer.android.com/reference/android/view/View.html#setOnHoverListener (android.view.View.OnHoverListener)) um herauszufinden, wann Der Benutzer bewegt sich über die gesamte Ansicht, aber dann müssen Sie feststellen, ob sich der Benutzer über einem bestimmten Bild befindet. – CommonsWare

+0

Ich habe mein erstes Thema bearbeitet, um zu klären, was ich erwerben möchte. Ich möchte zusätzliche Inhalte sowohl bei Hover als auch bei Berührung anzeigen. Das hängt von den Geräten ab. –

Antwort

1

Dies ist nicht die exakte Lösung, aber ich denke popupmenu für diese setzen

PopupMenu popup = new PopupMenu(context, view_anchor); 
popup.inflate(R.menu.your_menu); 
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
         @Override 
         public boolean onMenuItemClick(MenuItem item) { 
          switch (item.getItemId()) { 
           case R.id.button1: 
            //code when button1 is clicked 
            popup.dismiss(); 
            break; 
           case R.id.button2: 
            //code when button2 is clicked 
            popup.dismiss(); 
            break; 
          } 
          return false; 
         } 
        }); 
popup.show(); 

arbeitet den obigen Code in Ihrem Bild OnClickListener

in Ihrem Bild zu setzen OnClickListener Setzen Sie diese

ImageView image1, image2; 

in oncreate 
image1 = (ImageView) findViewById(R.id.id_of_image1); 
image1.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View v) { 
          //popup code 
         } 
        }); 

dann in der XML legt eine ID zu Ihrem Imageview

<ImageView 
android:id="@+id/id_of_image1" 
/> 
+0

Danke, Gilbert, für deine Hilfe. Da ich ziemlich neu bei Android bin, muss ich herausfinden, wie man einen "onclicklistener" auf meinen Bitmaps hinzufügt und dann werde ich deinen Vorschlag versuchen .. danke !! –

+1

für onClickListener bearbeitet –

+0

Vielen Dank für Ihre Hilfe! Ich musste einige Tutorials über Menüs und ImageView lernen, aber jetzt kann ich endlich deinen Code ohne Fehler laufen lassen .. danke nochmal !!! Jetzt funktioniert das Manu gut! –