Rendering Problems bei NoTitleBar.Fullscreen

  • 1 Antworten
  • Neuester Beitrag
Diskutiere Rendering Problems bei NoTitleBar.Fullscreen im Android App Entwicklung im Bereich Betriebssysteme & Apps.
B

BennIY

Neues Mitglied
Guten Abend liebe Community,

ich lerne gerade Android mit dem Buch "Spieleprogrammierung mit Android Studio" da das buch leider von 2014 ist, bin ich hier gelandet um die Unklarheiten zwischen mit und dem Buch zu lösen.

Nun vorweg habe ich den ganzen Tag nach diesem Problem gegoogelt bzw den gestrigen Tag.

Im 3. Kapitel zum Erstellen von Layouts heißt es, ich soll in der styles.xml das Theme ändern so tat ich dies:

Code:
<style name="AppTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
Nun muss ich auch im Designer umstellen auf NoTitleBar.Fullscreen doch sobald ich ein textView rein ziehe bekomme ich einen Fehler den schon jede Menge vor mir bekamen, jedoch halt keine deren Lösungen.:
Rendering Problems
Missing styles. Is the correct theme chosen for this layout=
Use the Theme combo box above the layout...
Failed to find '?attr/textEditSuggestionsItemLayout' in current theme

nun komme ich an diesem Punkt nicht weiter, was ich sehr schade finde.
Den Vorschlag, welcher in einem anderen Forum gemacht wurde, als Anfänger die Finger von Themes weg zu lassen akzeptiere ich nicht, dass kann nicht die Lösung des Problems sein.

Nun bitte ich euch darum, mir bei der Beseitigung des Fehlers zu helfen.

Beste Grüße
 
swa00

swa00

Moderator
Teammitglied
Hallo BenniY ,

wenn man an einer Schraube des Uhrwerkes dreht, muss man leider all die Anderen auch nachjustieren.

Als Beispiel : Wenn du was in den Activity-Styles änderst , dann muss du auch die entsprechende Änderung
in der Manifest bei deinem Fragment oder Actvity vornehmen UND ist abhängig von deiner Ableitung der Main-Klasse
Das muss dann auch im Syntax mit der von Dir verwendeten Version übereinstimmen.
(V4, V7, Material, Compat etc etc )

Hier mal ein Bespiel, wie es (heute) in der styles.xml vollständig Richtig wäre (Compat)
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/orange</item>
<item name="colorPrimaryDark">@android:color/holo_orange_dark</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>

Deine manuelle Änderung, zieht in dem Falle drei Weitere nach sich - und das ist noch recht wenig
Mit einem einfachen Maus-Klick kommt man dabei leider nicht zum Ziel :)

Das Designer-Tool weis also nicht, wo du nur teilweise und unvollständig Hand angelegt hast und ggf.
Dein Syntax veraltet ist. Das ist völlig logisch und meckert zurecht.
Das Teil ist doof und macht nur das, was Du als Entwickler vorgibst

Welche weitere Schraube du jetzt wo und in Zukunft bei welcher Änderung nachstellen musst, ist somit nicht pauschal zu beantworten.
Man muss also recht fit sein, wenn man im Uhrwerk etwas verändern möchte.

Wobei wir dann direkt bei deiner Beschwerde wären :)
Den Vorschlag, welcher in einem anderen Forum gemacht wurde, als Anfänger die Finger von Themes weg zu lassen akzeptiere ich nicht, dass kann nicht die Lösung des Problems sein.
Diesen Ratschlag kann ich auch nur unterstützen und die Begründung habe ich oben aufgeführt,
weil man zu 100 % wissen muss, wie es funktioniert - Und das kommt i.d.R erst mit der Zeit und Praxis

Wenn die Auflage deines Buches von 2014 ist , dann können wir davon ausgehen , dass der Inhalt aus 2013 ist.
In den letzten vier Jahren hat es natürlich X Verbesserungen und Veränderungen gegeben - wenn man die
wöchentlichen Updates zu diesem Zeitpunkt berücksichtigt.
Berücksichtigt das Buch überhaupt schon AndroidStudio ?

Wenn du dann z.b. nach "Android Fullscreen" Tante Google fragst , wirst du jede Menge Einträge und
Antworten bekommen, allerdings wird der Großteil nicht auf dich zutreffen.
Du musst haargenau die Versionen und Deine aktuelle Konstellation berücksichtigen.

Hier einmal ein Beispiel, wie es unterhalb von JELLY_BEAN auf Code-Wege ginge
(Bei den anderen Version , muss es wieder anders gemacht werden )
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);




Noch ein paar Dinge zum Designer :


Das Designer-Tool soll auch eher nur eine Unterstützung darstellen. Es ist rudimentär und versucht
lediglich DEINE Xml Dateien in Grafik umzusetzen - mehr nicht.
Wenn du in Zukunft deine CustomViews bastelst und einbindest oder Standard Themes verbiegst kommt es
schnell an seine Grenzen

Alle Styles, Veränderungen an der UI (auch Fullscreen) kann / MUSS man sowieso per Java-Code vornehmen.

Aus diesem Grunde sollte man sich auch eher an die reine Text-XML halten und auch schauen, was das
Endergebnis ist, nicht was der Designer sagt.
Ich nutze Diesen lediglich, um die Elemente hinzuzufügen , selten um Diese zu platzieren oder gar zu sehen,
wie hübsch es mal aussehen würde. Das mache ich während der Laufzeit.

Der Designer hat auch seine Probleme mit den verschiedenen Deviceauflösungen. Dazu immer entweder
verschiedene Emulator-Images erstellen, oder in Kombination verschiedene Devices
per USB / ADB dranhängen , bevor man eine App Released.


Gute Layouts/UI/Bedienbarkeit & Fehlerbehandlung machen eh i.d.R. 2/3 des Arbeitsaufwandes aus.

..
 
Zuletzt bearbeitet:
Ähnliche Themen - Rendering Problems bei NoTitleBar.Fullscreen Antworten Datum
8