RasPiCar Projekt Forum

Normale Version: Skin-Mod CarPC-xTouch
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen

Kurze frage wie kann ich dir Farbe der Texte in den Homebuttons ändern? wenn Ich in den Einstellungen FFFFFFFF wähle ist sie weiss gebe ich aber einen anderen Farbencode z.B 00FF00 ein passiert leider nichts.

Gruss Mark
Hi, du musst einen 8 stelligen code eingeben.
Die ersten 2 Stellen stehen dabei für die Transparenz, die restlichen 6 für den normalen Farbcode.

Anschließend musst du den Skin neu laden oder alternativ den Pi neu starten.

gruß, Kormi
(16.05.2016, 15:14)Kormi schrieb: [ -> ]Hi, du musst einen 8 stelligen code eingeben.
Die ersten 2 Stellen stehen dabei für die Transparenz, die restlichen 6 für den normalen Farbcode.

Anschließend musst du den Skin neu laden oder alternativ den Pi neu starten.

gruß, Kormi
Hi das gabe ich versucht. Leider ändert sich die Schriftfarbe der Homebuttontexte nicht. Nur die anderen welche unter Einstellungen sind. Siehe Foto[Bild: b86654051aa17328a83ee345539bf144.jpg]

[Bild: 0908c2073f0a8b1e50268ccb0fa0dc33.jpg]
Gruss Mark

Gesendet von meinem SM-G935F mit Tapatalk
Die Farbe ändert man in der defaults.xml unter /home/pi/.kodi/addons/skin.carpc-xtouch/colors
Nein das kann man derzeit nicht ändern. Die Beschriftungen wie auch die Icons der Homebuttons ist fest auf Weiß eingestellt.

Wenn das allgemein gewünscht wird (also mehr als nur einer Wink , könnte ich das in der nächsten Version noch mit einbauen. Das würde dann aber wieder eine Menge an zusätzlichen Code bedeuten und ich merke jetzt schon, dass die Bedienung nicht mehr ganz so flüssig läuft. Das ist halt immer eine Abwägung, ob es wirklich wichtig ist und gebraucht wird oder nur ein nice-to-have bzw. ein "schön dass ich könnte wenn ich wollte, aber eigentlich will ich ja gar nicht…" und man dann aber mit den Nachteilen leben muss.
Schlecht waere es nicht wenn man die Farbe aendern kann.
Es ist sicher nur ein nice to have, jenach Hintergrund Foto ist weiss etwas schwer zum lesen, aber kann mit verringern der helligkeit mit einem fotobearbeitungs tool verbessert werden

Gesendet von meinem SM-G935F mit Tapatalk
Ok, ich lass' ja mit mir reden. Wink Das Argument mit der Lesbarkeit je nach Hintergrund ist nicht von der Hand zu weisen.

Meine Vorstellung ist, dass die Farbe von Beschriftung und Icon separat von der Skinfarbe eingestellt werden kann aber ohne zusätzliche Focusfarbe. Icon und Beschriftung ändern dann nicht die Farbe, wenn der Button gedrückt wird oder eben Focus hat. Das bedeutet nur eine zusätzliche Einstellung in den Settings, die würde ich noch unterkriegen.

Wäre das in eurem Sinne?

Noch zur Erklärung: Die Änderung in dieser Art würde relativ wenig zusätzlichen Code bedeuten. Anders wäre es, wenn auch die Focusfarbe einbezogen werden soll. Dann würde die Änderung im Code wesentlich umfangreicher und der Pi hätte durch die zusätzlichen Conditions, die abgefragt werden müssten, wieder etwas mehr Arbeit zu leisten. Und so langsam muss man schon schauen, dass der Skin nicht all zu viel Leistung frisst. Nicht, wenn es nur wenig Nutzen bringt.
bei grafiken braucht man nur diffusecolor dazu nehmen.

aber ich vertehe nicht, warum man bei farbänderungen die skin neu laden muss. ist doch eine variable, oder?

schau dir das mal an. ist ein script zum farbe setzen, per auswahlliste.:
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import xbmc, xbmcgui, xbmcaddon
import re

# -- for skin --

def log(message):
   return xbmc.log('skin.confluence-vertical: %s' % message)
bDebug = False

Farben={}
log(xbmcaddon.Addon(xbmc.getSkinDir()).getAddonInfo('path').decode('utf-8'))

xmlfile=xbmcaddon.Addon(xbmc.getSkinDir()).getAddonInfo('path').decode('utf-8') + '/colors/defaults.xml'
xml = open(xmlfile, 'r').read()

log(xml)

match=re.findall('name="(.*?)"(.*?)>(.*?)</',xml)
for farbe,trash,wert in match:
   Farben[farbe] = wert
log(Farben)

Farbliste=Farben.keys()
Wertliste=Farben.values()
log('Farbe 0: ' + Farbliste[0])
log(Farben[Farbliste[0]])
log(Wertliste)

for farbe in Farbliste:
   farbe = '[COLOR=%s]%s[/COLOR]' % (Farben[farbe],farbe)
   log(farbe)

ret = xbmcgui.Dialog().select('Choose a Color', Farbliste)

log(ret)
log('selected: ' + Farbliste[ret])
if bDebug: xbmcgui.Dialog().ok("Choosed color", Farbliste[ret])
if not ret < 0:    xbmc.executebuiltin('Skin.SetString(TextColor1,' + Farbliste[ret] + ')')

hatte das noch mit einer variable gelöst, falls nix gesetzt ist, dass ein fallback greift.
gefunden:
Code:
<?xml version="1.0" encoding="utf-8"?>
<includes>
  <variable name="TextColor1">
    <value condition="!IsEmpty(Skin.String(TextColor1))">$INFO[Skin.String(TextColor1)]</value>
    <value>white</value>
  </variable>
</includes>

das sollte auch mit mehreren strings gehen. müsste man das script etwas umschreiben, dass man den string übergegeben kann, der gesetzt werden soll.
@ harryberlin
Nee, den Skin muss man nicht neu laden. Die Farben werden sofort übernommen.

Und danke für das Script! Werde mir das mal anschauen, wie ich das einbinden kann.

Im Skin werden die Farben überall wo sie zu verändern sind, schon mit colordiffuse zugewiesen. Nicht nur bei Grafiken sondern auch bei Schriften. Mit Variablen habe ich mich noch nicht so sehr auseinandergesetzt (werden eigentlich nur bei der Uhr verwendet, da sind sie praktisch).

Wenn du weitere Tipps hast und sie teilen möchtest, hast du in mir einen dankbaren Empfänger! ich bin ja erst mit diesem Projekt überhaupt erst in das Skinning eingestiegen und habe mir bisher alles selber beigebracht. Aber bei manchen Problemchen stoße ich doch schnell an meine Grenzen.