Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 48 reacties

Apparaten die draaien op versie 4.0 van Android mogen een eigen skin hebben, maar moeten ook altijd de standaardthema-elementen van het besturingssysteem bevatten. Zo kunnen applicatiebouwers zelf kiezen welke stijl hun app krijgt.

Google Galaxy NexusDat schrijft Google-ontwikkelaar Andrew Powell op het Android developmentblog. Bij Android komt het vaak voor dat fabrikanten de standaardstijl vervangen door een eigen ontwerp. Voorbeelden hiervan zijn de TouchWiz-schil van Samsung en Sense van HTC. Tot nu toe had dat als gevolg dat een applicatie er op telefoons anders uit kon zien, omdat elementen als knoppen en invoervelden de stijl van de nieuwe skin kregen.

Door de wijziging die Google nu doorgevoerd heeft kunnen er verschillende stijlen naast elkaar bestaan. Elk apparaat met Android 4.0 moet naast het 'default'-thema, dat door fabrikanten aangepast kan worden, het Holo-thema van Ice Cream Sandwich bevatten. Applicatieontwikkelaars kunnen aangeven of ze het standaard- of Holo-thema willen gebruiken, waardoor ze meer invloed krijgen op de uitstraling van hun applicatie.

De verplichting betekent overigens niet dat telefoon- en tabletfabrikanten geen eigen skins en interfaces meer mogen ontwikkelen. Het moet juist makkelijker worden om skins te maken, omdat deze nu toegevoegd kunnen worden in plaats van huidige systeembestanden over te schrijven. Het lijkt er niet op dat de nieuwe feature het mogelijk maakt om te wisselen tussen skins; het is enkel voor app-bouwers bedoeld.

Reacties (48)

Reactiefilter:-148048+138+22+30
Moderatie-faq Wijzig weergave
Ten eerste denken sommige lezers dat dit iets te maken heeft met skins zoals TouchWiz en Sense. Dit is niet het geval. Dit heeft puur te maken met app themes - welk kleurtje text heeft, welke achtergrond een dialog heeft, dat soort dingen.

Dat het standaard Holo theme nu megeleverd wordt is leuk, maar als je als app developer nu het Holo theme gebruikt ziet dat er op Honeycomb uit zoals de OEM het wil, en op ICS zoals Google het voorzien had. Dit is dus niet consistent met de default device UI over verschillende Android versies heen.

De oplossing is niet erg ingewikkeld, en is onder andere hier te vinden:

http://www.chainfire.eu/a..._across_Android_versions/
Dus dit betekent dat er nog minder consistentie is binnen eenzelfde Android-release. Waar er in de Tweakers-review al over werd geklaagd, krijgt de normale consument een nog verwarrendere ervaring omdat er twee verschillende thema's worden gebruikt binnen één OS. Beter verplicht Google gewoon bovenstaande in combinatie met het meeleveren van de skin en de keuze om te kiezen tussen Holo en de skin van een fabrikant.
Het is voor app ontwikkelaars heel vervelend al die themes; die kunnen de indeling en vormgeving van je app aardig verklooien. Erg handig dus om altijd een voorkeur theme te kunnen selecteren.

Helaas zal er nog wel een tijdje rekening gehouden moeten worden met de 2.x.x versies, waar themes dus wel wisselen.
tja, maar in principe heb je dat probleem ook op andere OSsen waar men themes kan instellen (ofwel bijna ELK ander OS).
Dat is dan bij deze opgelost in android ;) het is nu dus aan de ontwikkelaar of hij de app er consistent met het OS/skin uit laat zien, of consistent met android.
Misschien een beetje raar maar. Waarom heb ik dit in al die tijd dat ik Android telefoons heb gehad nog NOOIT meegemaakt dat een bepaalde Theme of Skin het uiterlijk van 3th party apps zoals apps uit de market aanpast?

[Reactie gewijzigd door Texamicz op 5 januari 2012 13:30]

Je begrijpt het niet. Je krijgt juist meer consistentie... Dus je hebt dan een telefoon die een bepaalde style heeft (neem even Sense als voorbeeld) terwijl je apps het normale thema pakken zodat de apps op Sense en op TouchWiz gelijk zijn
Maar aan de andere kant zorgt dat voor de mate van uitwisselbaarheid, omdat je op 2 verschillende telefoons nu 2 dezelfde apps hebt met daarnaast de skin van de telefoon. Echter gebruiken de meeste mensen maar 1 telefoon en heb je daar dus niks aan dat de aplicatie op beide telefoons het zelfde zou zijn.

De kans bestaat nu ook dat er te veel verschillende skins komen, en dat je door de bomen het bos niet meer ziet.
Echter gebruiken de meeste mensen maar 1 telefoon en heb je daar dus niks aan dat de aplicatie op beide telefoons het zelfde zou zijn.
Njah als mijn vriendin of moeder een probleem heeft met een bepaalde App dan is het voor mij handig wanneer de apps exact gelijk zijn. Daarom maken wij bijv gebruik van iPhones en Google Nexus phones puur vanwege het feit dat het simpel is om zo ondersteuning te bieden. (iphone wordt uit gefaseerd)
Er is meer consistentie tussen verschillende telefoons, maar juist minder binnen je eigen telefoon. In plaats van dat er één skin is voor alle applicaties, zijn er apps die het defautl thema pakken (Holo), en apps die dat niet expliciet doen en waarmee dus het thema van de fabrikant wordt gebruikt (bijv. Sense).

[Reactie gewijzigd door werchter op 4 januari 2012 09:12]

Hoezo zou je dat dan in hemelsnaam doen? Wat ben je voor ontwikkelaar wanneer je telefoon specifieke thema's gaat gebruiken terwijl je met dezelfde moeite het normale thema kan gebruiken? Ik vermoed dat je een beetje heel erge amateur bent wanneer je kiest voor de optie die ervoor zorgt dat jij niet weet hoe je app er uiteindelijk uit komt te zien terwijl je met dezelfde moeite de garantie hebt dat hij overall hetzelfde is.

Sorry hoor wat jij zegt is gewoon weer luiheid van ontwikkelaars... Ik dacht altijd dat ontwikkelaars creatieve personen zijn maar helaas lijkt het er steeds meer op dat ze zelf niet kunnen nadenken waardoor de platform leverancier de ontwikkelaar bij de hand moet nemen (beetje generaliserend :P)
Wat ben je voor ontwikkelaar wanneer je telefoon specifieke thema's gaat gebruiken terwijl je met dezelfde moeite het normale thema kan gebruiken?
Helaas is dit wel de praktijk op de pc. Bijna alle populaire software die qua mogelijkheden wel zo'n beetje uitontwikkeld zijn zoeken hun heil in het 'opleuken' dmv een nieuwe skin. Kijk bijvoorbeeld naar MS office, Photoshop, en zo'n beetje alle mediaplayers.
Ik zou het een slechte ontwikkeling vinden als dit nu ook op de telefoon gaat gebeuren (en een extra reden voor mij om naar iOS over te stappen).
Wat een ge... zeg, in sommige gevallen is het juist fijn een UI te maken dat op allerlei platformen hetzelfde eruit ziet. Dat noemen ze ook wel consistent en efficiënt en zorgt ervoor dat wanneer er een handleiding nodig is, geen uitzonderingen nodig zijn omdat het overal (platform) exact hetzelfde uitziet. Bovendien kunnen controls weergegeven worden zodat ze in je UI passen, dus bijvoorbeeld geen groen als dit helemaal niet voorkomt in je ontwerp. Kijk maar naar games, willen ook graag een eigen UI. Dus een beetje onzin om te spreken van luiheid of amateur, denk eerder dat je zelf nooit iets gemaakt hebt.
Het is wel weer jammer dat er dan weer niet geswitcht kan worden tussen de skins

[Reactie gewijzigd door waspoeder op 4 januari 2012 08:59]

Via root waarschijnlijk wel ;) Dus wat mij betreft een hele goede oplossing!
tuurlijk wel.
kwestie van zelf de skin files verwijderen van je telefoon.

op deze manier wordt het net makkelijker, maar standaard zal het niet erin zitten.
Het is natuurlijk wachten tot er een 'skinsqitcher' applicatie komt.
net als decrapifier op de pc's

Goed idee ;)
Op mijn oude telefoon (lg optimus gt540) zat die er standaard op
Maar dit is toch vrijwel hetzelfde als het wisselen van launcher en het bijbehorende thema? Neem bijvoorbeeld GoLauncher, ik kom dan niet zo snel meer elementen tegen van TouchWiz?
Met een andere launcher kom je TWlauncher niet meer tegen. TW kom je wel degelijk tegen. In bijvoorbeeld contacts.apk, mms.apk, email, etc. Allemaal Samsung apps met TW schil.
Jawel, op golauncher na is alles nog in de style van Touchwizz....

Golauncher is niks anders dan een app, geen skin oid...
Alleen maar mooi dit. En Android is nog steeds een van de weinige mobiele OS'en waar skins uberhaupt mogelijk zijn. Enige andere die ik kan bedenken die dit ook heeft, is MeeGo.

Maargoed, apps kunnen nu de keuze maken tussen de default skin en de geinstalleerde skin. Wat is het nut? Dat de appmaker dus nog steeds niet weet welke skin er gebruikt gaat worden, want de default skin kan ook weer anders zijn afhankelijk van de Android-versie. En de Android-versie kun je natuurlijk niet forceren.
Dat is dus een beetje de grap. Als app developer kun je nu dus twee dingen doen:

- Of je neemt de Google-Holo skin, die er op Android 4.0+ dus altijd hetzelfde uitziet, maar waardoor je app er wellicht niet consistent uitziet met de rest van het toestel

- Of je neemt de DeviceDefault skin, waardoor je app er (hopelijk) consistent uitziet met de rest van het OS, maar je van te voren geen idee hebt hoe het er uit gaat zien.

De meeste goede developers zullen denk ik altijd voor optie twee kiezen, aangezien vanuit design oogpunt het altijd beter is dat je app consistent is met de rest van het apparaat. (De app moet er hetzelfde uitzien als andere apps op dezelfde telefoon, niet als dezelfde app op andere telefoons). Uitzonderingen daargelaten, natuurlijk.

Dan moet er ook nog trucage gepleegd worden om de app er goed uit te laten zien op oudere Android versies, maar dat is weer een ander verhaal.
Er is nog een derde optie die nergens genoemd wordt. Wat als je geen Holo-skin hebt? Niet iedereen heeft nml Android 4.0... Als de devver dan daarvoor kiest, wat dan? En als je in Android 2.x of 3.x de default skin hebt, en de app kiest voor DeviceDefault?

Dit klinkt mij een beetje in de oren als "kies tussen automatisch en default", maar geen van beiden garandeert iets.

Een derde optie mist dus.
Zoals het artikel van BoomSmurf (iets hoger in de thread) al aangeeft moet de developer een styles.xml toevoegen voor elke theme die hij wil supporten.

Voor support van theme 'Black' (2.x)
- zet een styles.xml in de folder res/values

Voor support van theme 'Holo' (3.0)
- zet een styles.xml in de folder res/values-11

Voor support van theme 'DeviceDefault' (4.0 en hoger)
- zet een styles.xml in de folder res/values-14

Bestaande apps kunnen ondersteuning voor Holo of DeviceDefault toevoegen.
Nieuwe apps kunnen besluiten welke theme(s) ze willen ondersteunen

Vervolgens staat er in het artikel van het nieuwsbericht:
Defaults for Older Apps

If an app does not explicitly request a theme in its manifest, Android 4.0 will determine the default theme based on the app’s targetSdkVersion to maintain the app’s original expectations: For values less than 11, @android:style/Theme; between 11 and 13 @android:style/Theme.Holo; and for 14 and higher @android:style/Theme.DeviceDefault.
en (zoals ik al aangaf)
Using Holo while supporting Android 2.x

Most Android developers will still want to support 2.x devices for a while as updates and new devices continue to roll out. This doesn't stop you from taking advantage of newer themes on devices that support them though. Using Android's resource system you can define themes for your app that are selected automatically based on the platform version of the device it's running on.

Theme.Holo and Theme.Holo.Light have been available since API level 11, but Theme.Holo.Light.DarkActionBar is new in API level 14.

res/values/themes.xml:

<resources>
<style name="MyTheme" parent="@android:style/Theme">
<!-- Any customizations for your app running on pre-3.0 devices here -->
</style>
</resources>

res/values-v11/themes.xml:

<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo">
<!-- Any customizations for your app running on devices with Theme.Holo here -->
</style>
</resources>

[Reactie gewijzigd door rickiii op 4 januari 2012 23:47]

Niet helemaal waar.
Sommige apps zijn zo bijzonder dat ze hun eigen style hebben, los van de skin.

De default skin van Google is vrij neutraal en ik kan me best voorstellen dat er een aantal widgets gebruikt worden. Geforceerd een andere skin moeten gebruiken, zoals nu het geval, is in die gevallen erger.
Jammer, ik had graag gezien dat je als gebruiker kon kiezen. De standaard ICS skin zou meer dan goed zijn, wat mij betreft.
Precies. Het is niet de App die moet bepalen hoe de UI elementen eruit zien, dat is de gebruiker en de App heeft zich daar naar te schikken. Wat Google nu bedacht heeft is de omgekeerde wereld, de klant is koning. Zijn al die luie webontwikkelaars die maar voor 1 browser willen ontwikkelen overgestapt naar apps maar zijn ze nog net zo lui?
Wat een ge... zeg, in sommige gevallen is het juist fijn een UI te maken dat op allerlei platformen hetzelfde eruit ziet. Dat noemen ze ook wel consistent en efficiënt en zorgt ervoor dat wanneer er een handleiding nodig is, geen uitzonderingen nodig zijn omdat het overal (platform) exact hetzelfde uitziet. Bovendien kunnen controls weergegeven worden zodat ze in je UI passen, dus bijvoorbeeld geen groen als dit helemaal niet voorkomt in je ontwerp. Kijk maar naar games, willen ook graag een eigen UI.
Maar consistentie tussen apps op één apparaat is denk ik belangijker dan consistentie tussen dezelfde app op verschillende apparaten. Een Android-gebruiker zit bijvoorbeeld ook niet te wachten op een een UI die voor iPhone bedoeld is, die wil een UI met Android-elementen.
Zo dat is lekker ik heb de Galaxy Note en die zou ook naar 4.0 gaan en dan doe ik ook de default android 4 skin ipv die touchwiz vind ikzelf veel beter.
Er staat juist dat dat waarschijnlijk niet mogelijk zal zijn.
Als ik het goed begrijp heb je als gebruiker dus niks te zeggen over hoe je apps worden weergegeven. App-ontwikkelaars (en fabrikanten) maken de beslissing welke skin wordt gebruikt. Als ik mijn agenda in ICS stijl wil heb ik een probleem op mijn Touchwiz telefoon vermoed ik.
Ja je agenda wel, want dat is een standaard android app, en dus door Touchwiz aangepast. Een agenda in de market daarintegen, kan nu aangeven 'wij willen geen touchwiz, wij willen ICS'.
Het switchen van skins voor de gebruiker lijkt hiermee wel een stuk dichterbij gekomen te zijn. Kan me zo maar voorstellen dat dit in één van de volgende updates werkelijkheid wordt.
Tenzij be GoLauncher' s Touchwiz theme download. ;)

Op dit item kan niet meer gereageerd worden.



LG Nexus 5 (2015) Apple iPhone 6s FIFA 16 Microsoft Windows 10 Home NL Star Wars: Battlefront (2015) Samsung Gear S2 Skylake Samsung Galaxy S6 edge+

© 1998 - 2015 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True