Hallo zusammen
Würde gern ein Fenster im Skin einblenden lassen.
Wie könnte ich das am Besten bewekstelligen?
Hätte da jemand einen guten Ansatz?
Hallo zusammen
Würde gern ein Fenster im Skin einblenden lassen.
Wie könnte ich das am Besten bewekstelligen?
Hätte da jemand einen guten Ansatz?
Moin,
was soll das Fenster beinhalten?
Wo soll es auftreten?
Standardmäßig ist das immer vom Skin abhängig.
Der Hauptbildschirm ist z.B. in der Home.xml - dort muss man das dann einbauen.
Das Fenster soll schwarz sein und Text beinhalten.
Es sollte oben Links im Hauptbildschirm sein zirka so wie im Anhang
Und was soll das Fenster tun? Soll es immer zu sehen sein? Soll es weckklickbar sein?
Es sollte immer zu sehen sein und nicht wegklickbar sein.
Der Text ist statisch und immer derselbe!
Ginge das mit einem <control type=label"> ?
Ausserdem sollte es immer onTop sein!
Du müsstest halt dir eine Datei machen mit diesem Fenster und der Position und die dann in jeder Ansicht per include einbauen.
visible halt auf true.
Also ich hab ne Datei erstellt Namens "Testinfo.xml"
Der Inhalt lautet fogendermassen:
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="Testinfo">
<control type="label">
<left>200</left>
<top>200</top>
<height>500</height>
<width>800</width>
<label>Das ist eine Info</label>
<align>left</align>
<font>font13_title</font>
<textcolor>white</textcolor>
<shadowcolor>black</shadowcolor>
<visible>true</visible>
</control>
</include>
</includes>
In der Home.xml habe ci es folgendermassen included:
<include>Testinfo</include>
Leider wird noch nichts angezeigt
Das müsste etwa so Aussehen:
Die Datei muss in den "XML Ordner" des skins, und zwingen mit Custom_ beginnen.
http://kodi.wiki/view/How-to:Ad…og_via_skinning
für id="xxx" muss ein Bereich von 1100–1199 eingesetzt werden. Jede ID darf nur in einem Custom Window verwendet werden, also erst prüfen ob der Skin schon welche hat
und was für welche frei sind.
zorder Regelt die "Ebenen" der Dialoge über dem aktiven Fenster. Alle Kodi Dialoge beginnen bei 0, deßhalb mal 400, muss aber getestet werden.
visible Regelt die Anzeige - im Beispiel kommt das Fenster nur wenn Home aktiv ist.
Es lässt sich aber auch Negieren, also z.B. !Window.IsVisible(FullscreenVideo) wenn es immer kommen soll außer bei einer Wiedergabe.
Window Namen findet man hier:
http://kodi.wiki/view/XBMC_Skin…List_of_Windows
<?xml version="1.0" encoding="utf-8"?>
<window id="xxx" type="dialog">
<defaultcontrol></defaultcontrol>
<visible>Window.IsVisible(home)</visible>
<zorder>400</zorder>
<controls>
<control type="label">
<left>200</left>
<top>200</top>
<height>500</height>
<width>800</width>
<label>Das ist eine Info</label>
<align>left</align>
<font>font13_title</font>
<textcolor>white</textcolor>
<shadowcolor>black</shadowcolor>
</control>
</controls>
</window>
Alles anzeigen
Grüße
Danke für deine Mühe
Probiere es gerade aus
Falls ich es noch nicht hinkriege melde ich mich nochmal
Ansonsten danke ich dir vielmals für deine Hilfe
Also die ganze Sache mit dem Fenster funktioniert prächtig.
Dafür möchte ich mich bei dir nochmal herzlichst bedanken.
Nun hätte ich noch eine kleine Frage bezüglich dem
Dialogfenster:
Ich müsste eine leicht schwarze Transparenz als Hintergund haben.
Wüsstest du, wie man das noch machen könnte?
Ich müsste eine leicht schwarze Transparenz als Hintergund haben.
Wüsstest du, wie man das noch machen könnte?
Am besten du schaust dir mal die anderen Dialoge an. Da findest du sicher irgendeinen Verweis auf eine Bereits vorhandene Grafik.
Dann musst du keine neue machen und bei jedem Update wieder einpflegen.
Je nach Skin würde ich einfach mal suchen ob eine offene Github source findest in der die Grafiken ungepackt sichtbar sind und eine vorhandene verwenden.
Oder je nach Skin schauen ob andere Dialoge wie Dialognotification/Dialogkaitoast.xml nicht zufällig auch einen Hintergrund haben.
Ansonsten ist das einfach ein Image Codeblock mit denem Pfad darin der in der Regel ab dem Skinordner Media angegeben werden muss, Positionierung mit dem x-Punkt oben links und Angabe von breite und höhe.
Der Pfad wäre dann liegt deine Grafik in "media" nur die Datei, ansonsten eben Ordner/Datei.png
<control type="image">
<left>180</left>
<top>180</top>
<height>540</height>
<width>840</width>
<texture colordiffuse="$VAR[DialogBg]" border="10">xxx.png</texture>
<animation type="Conditional" condition="true">
<effect type="fade" start="80" end="80" time="0" />
</animation>
</control>
Über eine Animation Condition mit der Bedingung true kannst du das tranzparent machen.
Natürlich ginge auch wenn vorhanden ein bereits tranzparentes png.
Wobei wenn die Abmessungen schon stimmen müsste man drüber Nachdenken ob nicht Textbox das logischere wäre.
Labels sind eher "Einzeiler", es gibt zwar wrapmultiline und aligny=top damit Mehrzeiliger Text nicht wie als Standard
vertikal zentriert Platziert werden, aber damit hast dann in diesem Fall damit deselben Effeckt als wenn gleich ein
Textbox control verwendest.
Packt man danach das image und das labels noch in eine <group> kannst du dort noch mit Animationen Arbeiten.
Wird in deinem fall da das Fenster ja immer sichtbar bleibt nicht wirklich viel bringen, Aber so würde das
Fenster "einfaden" wenn es sich öffnet/sichtbar wird.
<animation type="WindowOpen">
<effect type="fade" start="0" end="100" time="500" />
</animation>
<animation type="WindowClose">
<effect type="fade" start="100" end="0" time="500" />
</animation>
Damit sollte es klappen, sonst nochmal Melden.
Grüße
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!