BadaBoard Themes erstellen

Aus mobilenations.de Wiki
Wechseln zu: Navigation, Suche

badaBoard Themes

badaBoard Themes bestehen aus einer oder mehreren pseudo-CSS Datei und einer Ansammlung von Icons. Pseudo-CSS, weil die Datei zwar im groben so aussieht, wie eine CSS Datei, aber nur wenig mit dem echten CSS zu tun hat. Um ein Theme in badaBoard zu importieren, muss die CSS Datei auf Style enden, und zusammen mit den Bildern in einer Zip Datei verpackt werden, die wiederum genauso heisst, wie die CSS Datei. Der Name des Themes ergibt sich dabei aus dem Namen der Zip bzw. CSS Datei. Weichen die Namen voneinander ab, oder fehlt das Wort Style am Ende des Names, wird badaBoard die Datei nicht als gültiges Theme erkennen. Um für die unterschiedlichen Bildschirmauflösungen der verfügbaren bada Geräte eigene Einstellungen zu definieren, schaut die App noch nach weiteren .css Dateien, passend zur aktuellen Bildschirmauflösung.

Beispiel

StyleName: MeinStyle
CSS-Datei: MeinStyle.css
 - WVGA  : MeinStyle_WVGA.css
 - HVGA  : MeinStyle_HVGA.css
 - WQVGA : MeinStyle_WQVGA.css
Zip-Datei: MeinStyle.zip

Auf einem Wave-M oder Y würde also zuerst die Datei 'MeinStyle.css' geladen werden, und danach, sofern vorhanden, die Datei 'MeinStyle_HVGA.css'. Sind in der zweiten Datei Parameter enthalten, die schon in der ersten Datei vorhanden waren, werden die Parameter aus der ersten Datei mit denen aus der zweiten Datei überschrieben.

badaBoards Pseudo-CSS

So sieht die aktuelle DefaultStyle.css Datei aus:

// Default-Style


// Allgemeine Einstellungen
* {
	BackColor : #000000
	FontColor : #FFFFFF
}

*.Header {
	BackColor : default
}

*.Footer {
	BackColor : default
}

*.ContextMenu {
	BackColor : default
}

*.List {
	HightlightBackColor : #282828
}

*.Tabbar {
	BackColor : #bd520f
}

// Main und SubText in den Listen
*.MainText {
	FontSize : 30
}

*.SubText {
	FontSize : 22
}

// Forenliste
ForumList.List {
	FontSize: 36
}

// Einstellungen für die Anzeige von Postings
*.Posting.MainText {
	FontSize : 26
}

*.Posting.SubText {
	FontSize : 22
}

*.Posting.QuotedText {
	FontSize : 22
	BackColor : #333333
}

*.Posting.SpoilerText {
	FontSize : 16
	FontColor : #333333
	BackColor : #111111
}

*.Posting.LinkText {
	FontColor : #0000FF
}

// Alle Icons
ForumList.List {
	ForumIcon : /forum/forumicon.png
	EditForumIcon : /forum/forumicon_edit.png
	RemoveForumIcon : /forum/forumicon_remove.png
}

UserCP.List {
	SweepPMDeleteIcon : /UserCP/maildelete.png
	SweepDeSubscribeIcon : /UserCP/desubscribe.png
}

UserCP.Footer {
	PMListIcon : /UserCP/mail.png
	PMNewIcon : /UserCP/mailnew.png
	SubscriptionIcon : /UserCP/subscription.png
}

Forum.List {
	ForumIcon : /forum/forumicon.png
	TopicIcon : /forum/topicicon.png
	StickyIcon : /forum/stickytopicicon.png
	AnnouncmentIcon : /forum/announcmenttopicicon.png
	SweepTopicLastPostIcon : /forum/topic_last.png
	SweepTopicSubscribeIcon : /forum/topic_subscribe.png
}

Forum.Footer {
	UserCPIcon : /forum/user_cp.png
	NewTopicIcon : /forum/topic_new.png
	ActiveTopicIcon : /forum/topic_active.png
	MoreIcon : /forum/topic_more.png
} 

Topic.List {
	ElementBackgroundIcon : /formtopicelement/background100a.9.png
	ElementBackgroundIcon2 : /formtopicelement/background100b.9.png
}

Topic.Footer {
	ReplyIcon : /forum/reply_new.png
}
	
*.Posting.Images {
	DummyImageIcon : /forum/dummyimage.png
}

Struktur

Die App ist in folgende Bereiche aufgeteilt, die als ID für die CSS Datei dienen:

  • ForumList - Das erste Fenster, mit der Auswahl der Foren.
    BackColor, ForumIcon
    • Header
      BackColor, TitleColor,ButtonBackColor, ButtonFontColor
    • List
      BackColor,FontSize, FontColor,ForumIcon, EditForumIcon , RemoveForumIcon
      • SearchElement
        • MainText
          FontSize, FontColor
        • SubText
          FontSize, FontColor
    • Footer
      BackColor,ButtonBackColor, ButtonFontColor


  • Forum - Die 1. Übersicht eines Forums
    BackColor
    • Header
      BackColor, TitleColor,ButtonBackColor, ButtonFontColor
    • Tabbar
      BackColor
    • List - Die Liste der Foren bzw. Topics
      BackColor, ForumIcon, TopicIcon, StickyIcon, AnouncementIcon, SweepForumSubscribeIcon, SweepTopicLastPostIcon, SweepTopicSubscribeIcon, HightlightBackColor
      • GroupHeader
        BackColor , FontSize, FontColor
      • ForumElement
        • MainText
          FontSize, FontColor
        • SubText
          FontSize, FontColor
      • TopicElement
        • MainText
          FontSize, FontColor
        • SubText
          FontSize, FontColor
    • ContextMenu
      BackColor, FontColor
    • Footer
      BackColor, UserCPIcon, NewTopicIcon, ActiveTopicIcon,MoreIcon


  • Topic
    BackColor
    • Header
      BackColor, TitleColor, ButtonBackColor, ButtonFontColor
    • Tabbar
      BackColor
    • List - Die Liste der Beiträge im Topic
      BackColor, ElementBackgroundIcon, ElementBackgroundIcon2, HightlightBackColor
      • Posting
        • Siehe PostingPopUp->Posting für untergeordnete Elemente
    • Footer
      BackColor, ReplyIcon


  • PostingPopUp
    BackColor
    • Posting
      BackColor
      • MainText
        FontSize, FontColor
      • QuotedText
        FontSize, FontColor, BackColor
      • SpoilerText
        FontSize, FontColor, BackColor
      • LinkText
        FontSize, FontColor
      • Images
        DummyImageIcon, ErrorImageIcon
    • Footer
      BackIcon, EditIcon, SaveIcon, ThanksIcon, AddImageIcon


  • NewPosting
    BackColor


  • ReplyPosting
    BackColor
    • Header
      BackColor, TitleColor,ButtonBackColor, ButtonFontColor 


  • UserCP - Das User Control-Panel
    BackColor
    • Header
      BackColor, TitleColor, ButtonBackColor, ButtonFontColor
    • Tabbar
      BackColor
    • List
      BackColor, SweepPMDeleteIcon, SweepDeSubscribeIcon
      • PMElement
        • MainText
          FontSize, FontColor
        • SubText
          FontSize, FontColor
      • PMBoxElement
        FontSize, FontColor
      • TopicElement
        • MainText
          FontSize, FontColor
        • SubText
          FontSize, FontColor
    • Footer
      BackColor, PMListIcon, PMNewIcon, ForumSubscriptionIcon, TopicSubscriptionIcon


  • PMPopup


  • FilePicker
    DirectoryIcon, FileIcon

Ablauf der Element-Suche

Wenn die App ein bestimmtes Element in der CSS sucht, geht sie folgt vor:

  1. Alle Elemente des aktuellen Themes werden auf einen exakten Treffer abgesucht
  2. Wenn das nicht gebracht hat, wird die Suche nochmal durchgeführt, diesmal wird das * als Wildcard im Elementnamen berücksichtigt
  3. Wenn auch das nicht zu einem Ergebnis geführt hat, werden Schritt 1. und 2. mit Default-Style wiederholt
  4. Wenn das auch nicht zu einem Treffer geführt hat, wird ein in der App festkodierter Wert genutzt:
 Icons: ""
Farben: #FFFFFF
Zahlen: 0

Was ist zu beachten

Farben

Farben beginnen mit einem #-Zeichen, gefolgt von den Hexadezimal-kodierten RGB bzw. RGBA Werten. Es ist möglich einen zusätzlichen Alphakanal anzugeben, falls man Transparanz-Effekte erzielen möchte.

Beispiele:

#FFFFFF = Weiß
#000000 = Schwarz
#FF0000 = Rot
#00FF00 = Grün
#0000FF = Blau
#00FF00AA = Grün mit leichter Transparenz

Suchreihenfolge

Wenn mehere Elemente mit Wildcards für eine Suche in Frage kommen, wird immer das Element bevorzugt, welches den längsten Namen hat:

*.MainText {
     FontSize : 22
}

geht vor

* {
     FontSize : 22
}

Default Werte

Elemente wie die Header und Footer einer Maske können auch im bada standard Style belassen werden. Dazu muss explizit der Wert 'default' für eine Eigenschaft gesetzt werden.

*.Header {
	BackColor : default
}

*.Footer {
	BackColor : default
}


Pfade

Pfadangaben für Icons sind immer relativ zu CSS Datei im Zip File anzugeben.