Überlagern eines Layouts

Blutgerinsel

Mitglied
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?
 

schlingel

Gesperrter Benutzer
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.
 

Blutgerinsel

Mitglied
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.

Stimmt es geht um Android sry hab ich wohl unterschlagen.

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;
	}

}
 

schlingel

Gesperrter Benutzer
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.
 

Blutgerinsel

Mitglied
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.

Klappt jetzt beinahe alles....

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?
 

schlingel

Gesperrter Benutzer
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.
 

Blutgerinsel

Mitglied
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.
Also interessieren würde mich vor allem die CustomView.....

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
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Feld eines Eingabeformulars automatisch mit UserID ausfüllen Android & Cross-Platform Mobile Apps 1
L Android Länge eines Musikordners Android & Cross-Platform Mobile Apps 7
C Zugriff auf die Position eines String- bzw Spinner-Arrays Android & Cross-Platform Mobile Apps 1
L Hintergrund eines Switch(Buttons) ändern Android & Cross-Platform Mobile Apps 3
Robat Android Umsetzung eines Spiels mit Minispielen Android & Cross-Platform Mobile Apps 5
A Android Öffnen eines ProgressDialogs Android & Cross-Platform Mobile Apps 5
antonbracke Android OpenGL - Element zum Zeigen eines .obj Models Android & Cross-Platform Mobile Apps 2
M [Android] Wie erstellt man eine Verknüpfung eines Ordners? Android & Cross-Platform Mobile Apps 7
H Frage bei erstellen eines Projectes Android & Cross-Platform Mobile Apps 3
M Inhalt eines Eingabefeldes an einen Server senden? Android & Cross-Platform Mobile Apps 9
A Fehler beim Starten eines Intents - alles in einer Klasse funktioniert... Android & Cross-Platform Mobile Apps 4
T Android Ergebnis eines XML+XSLT "transform" in eine HTML - Datei schreiben (Android) Android & Cross-Platform Mobile Apps 2
Bastifantasti Lagesensor eines Handys ansprechen? Android & Cross-Platform Mobile Apps 48
A Problem beim Subtrahieren eines Double von einem Double Android & Cross-Platform Mobile Apps 5
C Woche eines Jahres rausfinden Android & Cross-Platform Mobile Apps 2
J Verschiedene xml layouts in relativlayout anzeigen lassen Android & Cross-Platform Mobile Apps 1

Ähnliche Java Themen

Neue Themen


Oben