/ / dizajn materiálu: tlačidlá nebudú mať farbu témy? - android, dizajn materiálov

materiálový návrh: Tlačidlá nebudú mať farbu tému? - android, materiál-dizajn

Po rozšírení témy material.light a nastavení farieb takto:

<resources>
<!-- inherit from the material theme -->
<style name="MiTemaMaterial" parent="android:Theme.Material.Light">
<!-- Main theme colors -->
<!--   your app branding color for the app bar -->
<item name="android:colorPrimary">#4DB6AC</item>
<!--   darker variant for the status bar and contextual app bars -->
<item name="android:colorPrimaryDark">#009688</item>
<!--   theme UI controls like checkboxes and text fields -->
<item name="android:colorAccent">#FFAB40</item>
</style> </resources>

Dostanem navigačnú lištu podobnú materiálovému dizajnu, ale zobrazenia ako tlačidlá nezaberajú farebnú schému a zdajú sa predvolené. Zaujímalo by ma, či je to štandardné správanie, pretože v sprievodcoch dizajnom, ako je tu http://www.google.com/design/spec/components/buttons.html zdá sa, že tlačidlá používajú zvýrazňujúcu farbu.

Musím ich upravovať manuálne?

odpovede:

3 pre odpoveď č. 1

Áno, musíte tlačiť témy sami. Na poskytnutie tlačidla, ktoré prevezme primárnu farbu, použite na pozadí pozadie, ktoré obsahuje kreslenie, napríklad:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="?attr/colorPrimary"/>
</ripple>

Tým sa zabezpečí, že farba vášho pozadia je ?attr/colorPrimary a má predvolenú animáciu zvlnenia pomocou predvoleného nastavenia ?attr/colorControlHighlight (ktorú môžete tiež nastaviť v téme, ak chcete).

Poznámka: Budete musieť vytvoriť vlastný selektor pre menej ako v21:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primaryPressed" android:state_pressed="true"/>
<item android:drawable="@color/primaryFocused" android:state_focused="true"/>
<item android:drawable="@color/primary"/>
</selector>

Za predpokladu, že máte nejaké farby, ktoré by ste chceli prepredvolený, stlačený a zameraný stav. Osobne som urobil snímku zvlnenia uprostred výberu a vytiahol z toho primárny / sústredený stav.