Galaxy Tab 10.1 mit Softleiste unten

  • Antworten:12
mcfly
  • Forum-Beiträge: 286

25.10.2011, 22:00:47 via Website

Hallo zusammen

Ich habe in meiner App Buttons am unteren Rand.
Beim Galaxy Tab 10.1 gibts einen Schwarzen Balken mit eigenen Softbuttons ( vom Device ), die meine Buttons überdecken.
Beim Archos 7 gibts einen Softbalken am rechten Rand, der mein Button rechts überdeckt.

Offensichtlich gibt es Devices, die ihren Softbalken ( Ich nenne den mal so, weil ich den Fachausdruck nicht kenne :-) ) in den Bildschirm platzieren und die Apps sich nicht anpassen.
Wie geht Ihr mit dem um ? Passt man die Bildschirmgrössen den Geräten an oder wie ?

Viele Grüsse

Antworten
Chris H.
  • Forum-Beiträge: 321

26.10.2011, 01:50:28 via App

Ich weiß was du meinst. Habe diesen, ich nenne ihn mal "Mistbalken", auf meinem 8.9er Tab. Mittlerweile nervt er immer mehr. Worms kann damit nicht umgehen, der Balken ist auch komplett sichtbar wenn Filme über AllShare laufen.....
Wenn ich wüsste wie ich ihn loswerden könnte, würde ich ihn sofort entfernen und sicherlich nicht vermissen.

Antworten
mcfly
  • Forum-Beiträge: 286

26.10.2011, 08:27:06 via App

Es troestet mich , dass andere sich auch nerven. Die Definition Mistbalken find ich gut:-) Ich hoffe das etabliert sich als Fachausdruck. Falls jemand einen Tipp hat, wie man als Entwickler mit diesen Mistbalken umzugehen hat, waere ich sehr froh.

Gruesse

Antworten
mcfly
  • Forum-Beiträge: 286

31.10.2011, 15:26:35 via Website

Schade, dass niemand einen Tip hat :-(
Aber vielleicht kann mir jemand andersweitig helfen ? :
Gibt es eine List aller ProduktID's, die ich mit
1String sProduct=Build.PRODUCT;
auslesen kann.
Hätte ich eine solche Liste, könnte ich individuell für ein Produkt, die Screengrösse selber setzen.

Grüsse

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

31.10.2011, 16:11:57 via Website

hmm wo genau ist dein problem?

ich hab ne app, die läuft am galaxy tab genau so wie auf jedem smartphone. die leiste unten ist ja nicht teil des screens, der für apps vorgesehen ist.

meine apps und auch alle die ich sonst so installiert haben, hören einfach dort auf, wo die leiste anfängt.

wüsste nicht wo es da zu problemen kommen könnte bzw ist mir noch nie was aufgefallen.

swordiApps Blog - Website

Antworten
mcfly
  • Forum-Beiträge: 286

31.10.2011, 20:39:02 via Website

Ich habe ein Bild hinzugefügt um es zu zeigen. Hinter den roten Kreisen gucken meine Buttons hervor, die von der schwarzen Leiste überdeckt werden. Ich kanns leider nicht nachvollziehen, da ich kein Galaxy Tab 10.1 habe. Ich bekam das mit einem "Rüffel" zugeschickt :-)

Die Buttons setze ich in meiner eigenen View mit Screenheight - Abstand_vom_Rand. Screenheight liefert mir offensichtlich die Höhe inklusive der schwarzen Leiste .



Grüsse

— geändert am 31.10.2011, 20:40:12

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

31.10.2011, 20:44:41 via Website

hmm ok, wenn du die buttons so setzt, dann kann das gut sein.

da ist dann aber nicht die leiste unten schuld, sondern dein code.

eventuell gibt es was anderes als screenheight? die höhe der main view zb. oder sowas

— geändert am 31.10.2011, 20:45:11

swordiApps Blog - Website

Antworten
mcfly
  • Forum-Beiträge: 286

07.11.2011, 15:42:57 via Website

Ich hab dazu etwas gefunden. Leider kann ich es nicht testen, weil ich eben keinen "Mistbalken" mit meinen Geräten habe. Aber es tönt für mich vielversprechend. Vielleicht kann jemand bestätigen dass ich richtig liege ? :

Ich denke mit der Variable 'rectgle' ( siehe Code unten ) sollte ich die benützbare Fläche des Screens bekommen. Was meint ihr ?

1Rect rectgle= new Rect();
2Window window= getWindow();
3window.getDecorView().getWindowVisibleDisplayFrame(rectgle);

Grüsse

Antworten
Gian U.
  • Forum-Beiträge: 117

07.11.2011, 17:37:32 via Website

Wie zeichnest du die Buttons auf den Bildschirm? Je nach Art kann man sich die Höhe des verfügbaren Platzes beschaffen...

Mnemono - Efficient learning!

Antworten
Maximilian O
  • Forum-Beiträge: 990

07.11.2011, 22:08:04 via App

Warum legst du nicht wie Markus schön sagt, ein Layout an, welches den ganzen Bildschirm füllt. Die Höhe und Breite kannst du dann in deiner App verwenden.
MfG

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
mcfly
  • Forum-Beiträge: 286

11.11.2011, 08:31:34 via Website

Vielen Dank für eure Hilfe.

@Maximilian O

Ich habe das versucht, aber ich verstehe es nicht. Ich bekomme immer 0 als Werte für High und Width.
Kann vielleicht jemand über meinen Code schauen, warum es mit der Layout-Methode bei mir nicht klappt?

1// Zeige Hauptscreen
2 final Window win = getWindow();
3 win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
4
5 setContentView(R.layout.main);
6
7
8 tbl = (LinearLayout) findViewById(R.id.main);
9
10 // Get Display Properties
11 DisplayMetrics metrics = new DisplayMetrics();
12 Display dsp=getWindowManager().getDefaultDisplay();
13 dsp.getMetrics(metrics);
14 iScreenHeight = metrics.heightPixels; // -------------------------------------SO HAB ICH ES BISHER GEMACHT.
15 iScreenWidth = metrics.widthPixels;
16 iOrientation=dsp.getOrientation();
17tbl.refreshDrawableState();
18
19 iScreenHeight = tbl.getHeight(); // --------------------------------------NEU MIT DEM LAYOUT
20 iScreenWidth = tbl.getWidth(); // -------------------------- ICH BEKOMME HIER WERTE 0 & 0



Ich habe in meiner LinearLayout eine Gallery und eine eigene View die ich per Code dem LinearLayout adde. Meine Eigene View zeichne ich so Hoch wie Screensize-Gallerysize und darum läuft sie mir unter die Softleiste.


Grüsse

— geändert am 11.11.2011, 09:17:40

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

11.11.2011, 09:16:30 via Website

ich glaub, du musst ein onMeasure ausführen bevor du height und width nimmst.

swordiApps Blog - Website

Antworten
mcfly
  • Forum-Beiträge: 286

17.11.2011, 08:38:18 via Website

Danke für die Hilfe und eure Geduld mit jemandem der es einfach immer noch nicht begreifft :-(

Wie kann ich onmeasure aufrufen ? Ich habe nur eine onMeasure Methode in meiner selbstgemachten View, Aber wie mache ich das für das LinearLayout ?

Grüsse

— geändert am 17.11.2011, 09:06:00

Antworten