![]() |
|
| #1 (permalink) | |
|
Neuer Benutzer
byte
Registriert seit: 11.04.2010
Fachbeiträge: 11
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo zusammen,
ich stelle mir zurzeit folgende Frage. Wie kann ich ein Layout überlagern um ein eigenes Menu anzuzeigen? Prinzipiell soll folgendes erreicht werden. - Die komplette Leinwand besteht aus einem GridLayout, welche in jeder Grid auf einen onLongClickListener hören soll - Wird der Listener aktiv, soll ein eigenes Menü in Abhängigkeit zu den aktuellen Koordinaten erscheinen - Das Menu gibt eine Anzahl an Elemente vor - Klickt man ein Element an wird es im jeweiligen Grid platziert Welche Möglichkeiten gibt es um dies zu erreichen? |
|
|
|
| #2 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 17.12.2010
Fachbeiträge: 1.132
Abgegebene Danke: 11
Erhielt 259 Danke für 236 Beiträge
|
Redest du von Android?
Falls ja hast du da zwei Möglichkeiten. Entweder realisierst du es innerhalb eines PopupWindows oder du packst dein GridLayout in ein RelativeLayout. Im RelativeLayout liegt automatisch alles darüber was nach dem GridLayout hinzugefügt wird.
__________________
Es gibt nichts Gutes, außer man tut es! Probleme mit Android? Debugge mit Logcat um die Exception herauszufinden! |
|
|
|
| #3 (permalink) | |||||||||||||||||||
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 11.04.2010
Fachbeiträge: 11
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hmm mir sind noch ein paar Fragen gekommen und zwar.... Wie realisiert man eine Leinwand in der man die folgenden Dinge realisieren kann? - Leinwand soll auf OnLongclicked Reagieren? * Mein Ansatz war eine Custom View zu setzen und den Listener zu implementieren, der Event funktioniert an jeder Stelle - Leinwand soll ein Auswahlmenu anzeigen das in den Vordergrund gelangt. Hier wählt man dann eine Image View aus * PopupWindow habe ich versucht öffnet sich aber nicht über der View - Die ausgewählte ImageView soll dann auf der Leinwand platziert werden Mein Ansatz bisher (drehe mich irgendwie im Kreis) Code:
package de.htwg.popuptest;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout.LayoutParams;
import android.widget.PopupWindow;
public class PopupTestView extends View implements View.OnLongClickListener{
private Context context;
public PopupTestView(Context context) {
super(context);
this.context = context;
this.setOnLongClickListener(this);
}
public boolean onLongClick(View v) {
LayoutInflater layoutInflater
= (LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.popup, null);
final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Button btnDismiss = (Button)popupView.findViewById(R.id.dismiss);
popupWindow.showAsDropDown(this);
Log.e("Info", "Long Clicked");
return true;
}
}
|
||||||||||||||||||
|
|
|
||||||||||||||||||
| #4 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 17.12.2010
Fachbeiträge: 1.132
Abgegebene Danke: 11
Erhielt 259 Danke für 236 Beiträge
|
PopupWindows müssen die Größe die sie annehmen sollen mitbekommen ansonsten poppen sie wirklich nicht auf.
Wenn das ImageView im Popup ist funktioniert alles wie du es brauchst.
__________________
Es gibt nichts Gutes, außer man tut es! Probleme mit Android? Debugge mit Logcat um die Exception herauszufinden! |
|
|
|
| #5 (permalink) | |||||||||||||||||||
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 11.04.2010
Fachbeiträge: 11
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Noch eine Frage ich habe eine abgeleitete Klasse von View, die auf onlongclicked wartet, nun das PopupWindow öffnet, diverse ImageViews anzeigt und sich bei nem click auf eine imageview sich wieder schließt. Für die Elemente habe ich im EventListener nun ebenfalls auch die passende ID. Was jetzt noch fehlen würde, wäre diese ImageView auf meine View zu zeichnen die bisher auf onlongclicked reagiert? Ist das auch noch möglich? |
||||||||||||||||||
|
|
|
||||||||||||||||||
| #6 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 17.12.2010
Fachbeiträge: 1.132
Abgegebene Danke: 11
Erhielt 259 Danke für 236 Beiträge
|
Wenn du eine CustomView hast kannst du entweder in dieser Zeichnen oder du lässt deine CustomView von einer ImageView ableiten, dann kannst du direkt die Grafik zeichnen.
__________________
Es gibt nichts Gutes, außer man tut es! Probleme mit Android? Debugge mit Logcat um die Exception herauszufinden! |
|
|
|
| #7 (permalink) | |||||||||||||||||||
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 11.04.2010
Fachbeiträge: 11
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Meine View besitzt scheinbar keine geeigneten Methoden um programmatisch zur Laufzeit meine Bilder hinzuzufügen. Eine weitere Quizfrage ist auch welches Layout eine Custom View besitzt. Nach einer Recherche von android - custom view with layout - Stack Overflow sieht es so aus als ob ich eine XML erzeugen müsste mit einer ID und diese dann der View hinzufügen. Und über die ID des Layout könnte ich dann meine ImageView hinzufügen. Hmm vielleicht fällt mir noch was ein auf dem Weg zum Döner xD |
||||||||||||||||||
|
|
|
||||||||||||||||||
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Layouts wie bei QT | seux | AWT, Swing, JavaFX & SWT | 1 | 28.04.2012 17:41 |
| Layouts mit if-Abfrage ueberpruefen | bandy | AWT, Swing, JavaFX & SWT | 9 | 30.07.2010 20:11 |
| Layouts | spong3bob | AWT, Swing, JavaFX & SWT | 5 | 07.12.2006 06:14 |
| Nested Layouts - Parameterübergabe bei ActionListener | Jeans78 | Java Basics - Anfänger-Themen | 2 | 25.08.2006 00:31 |
| Layouts in JBuilder rausnehmen | Heiland | IDEs und Tools | 1 | 29.01.2005 01:06 |
| Lesezeichen |
|
|