Customizing Theme and Style for Material Design : Droid Kaigi 2016

Post on 14-Apr-2017

13755 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

Transcript

- -

<Button style="@style/Widget.AppCompat.Button.Small" android:layout_width="wrap_content" android:layout_height="wrap_content" />

<activity android:name=".SampleActivity" android:theme="@style/AppTheme" />

<Button style="@style/Widget.AppCompat.Button.Small" android:layout_width="wrap_content" android:layout_height="wrap_content" />

<EditText android:textColor="#333333" />

<EditText style="@style/MyTextView" />

<style name="MyTextView"> <item name="android:textColor">#333333</item> </style>

<style name="AppTheme" parent="…"> <item name="editTextColor">#333333</item> </style>

<style name="Theme.AppCompat.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>

<style name=“Theme.AppCompat" parent="Base.Theme.AppCompat"/>

<style name="Theme.AppCompat.DialogWhenLarge" parent="Base.Theme.AppCompat.DialogWhenLarge">

values/values.xml <style name="Base.Theme.AppCompat.DialogWhenLarge" parent="Theme.AppCompat"/>

values-large/values-large.xml <style name="Base.Theme.AppCompat.DialogWhenLarge" parent="Base.Theme.AppCompat.Dialog.FixedSize"/>

<style name="Base.Theme.AppCompat.Dialog.FixedSize"> <item name="windowFixedWidthMajor">@dimen/abc_dialog_fixed_width_major</item> <item name="windowFixedWidthMinor">@dimen/abc_dialog_fixed_width_minor</item> <item name="windowFixedHeightMajor">@dimen/abc_dialog_fixed_height_major</item> <item name="windowFixedHeightMinor">@dimen/abc_dialog_fixed_height_minor</item> </style>

values/values.xml <item name="abc_dialog_fixed_height_major" type="dimen">80%</item> <item name="abc_dialog_fixed_height_minor" type="dimen">100%</item> <item name="abc_dialog_fixed_width_major" type="dimen">320dp</item> <item name="abc_dialog_fixed_width_minor" type="dimen">320dp</item>

values-large/values-large.xml <item name="abc_dialog_fixed_height_major" type="dimen">60%</item> <item name="abc_dialog_fixed_height_minor" type="dimen">90%</item> <item name="abc_dialog_fixed_width_major" type="dimen">60%</item> <item name="abc_dialog_fixed_width_minor" type="dimen">90%</item>

values-xlarge/values-xlarge.xml <item name="abc_dialog_fixed_height_major" type="dimen">60%</item> <item name="abc_dialog_fixed_height_minor" type="dimen">90%</item> <item name="abc_dialog_fixed_width_major" type="dimen">50%</item> <item name="abc_dialog_fixed_width_minor" type="dimen">70%</item>

<style name="Theme.DroidKaigi.DialogWhenLarge" parent="Theme.AppCompat.DialogWhenLarge"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>

<style name="Theme.DroidKaigi.DialogWhenLarge" parent="Theme.AppCompat.DialogWhenLarge"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>

<!-- 黒系 --><style name="Theme.DroidKaigi" parent="Theme.AppCompat"> </style> <style name="Theme.DroidKaigi.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <!-- 白系 --><style name="Theme.DroidKaigi.Light" parent="Theme.AppCompat.Light.DarkActionBar"> </style> <style name="Theme.DroidKaigi.Light.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>

<!-- 黒系 --><style name="Theme.DroidKaigi" parent="Theme.AppCompat"> </style> <style name="Theme.DroidKaigi.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <!-- 白系 --><style name=“Theme.DroidKaigi.Light" parent="Theme.AppCompat.Light.DarkActionBar"> </style> <style name="Theme.DroidKaigi.Light.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>

<!-- textAppearance --><style name="TextAppearance.DroidKaigi.Title" parent="TextAppearance.AppCompat.Title"> <item name="android:textSize">21sp</item> </style> <style name="TextAppearance.DroidKaigi.Title.Inverse" parent="TextAppearance.AppCompat.Title.Inverse"> <item name="android:textSize">21sp</item> </style> <style name="TextAppearance.DroidKaigi.Subhead" parent="TextAppearance.AppCompat.Subhead"> <item name="android:textSize">17sp</item> </style> <style name="TextAppearance.DroidKaigi.Subhead.Inverse" parent="TextAppearance.AppCompat.Subhead.Inverse"> <item name="android:textSize">17sp</item> </style>

<style name="TextAppearance.DroidKaigi.Body2" parent="TextAppearance.AppCompat.Body2"> <item name="android:textSize">15sp</item> </style> <style name="TextAppearance.DroidKaigi.Body1" parent="TextAppearance.AppCompat.Body1"> <item name="android:textSize">15sp</item> </style> <style name="TextAppearance.DroidKaigi.Caption" parent="TextAppearance.AppCompat.Caption"> <item name="android:textSize">13sp</item> </style> <style name="TextAppearance.DroidKaigi.Button" parent="TextAppearance.AppCompat.Button"> <item name="android:textSize">15sp</item> </style>

カスタムビューをつくるときはこれらを継承する

Button

<style name="Base.Widget.AppCompat.Button" parent="android:Widget"> <item name="android:background">@drawable/abc_btn_default_mtrl_shape</item> <item name="android:textAppearance">?android:attr/textAppearanceButton</item> <item name="android:minHeight">48dip</item> <item name="android:minWidth">88dip</item> <item name="android:focusable">true</item> <item name="android:clickable">true</item> <item name="android:gravity">center_vertical|center_horizontal</item> </style> <style name="Base.Widget.AppCompat.Button.Borderless"> <item name="android:background">@drawable/abc_btn_borderless_material</item> </style> <style name="Base.Widget.AppCompat.Button.Borderless.Colored"> <item name="android:textColor">?attr/colorAccent</item> </style> <style name="Base.Widget.AppCompat.Button.Colored"> <item name="android:background">@drawable/abc_btn_colored_material</item> <item name="android:textAppearance">@style/TextAppearance.AppCompat.Widget.Button.Inverse</item> </style> <style name="Base.Widget.AppCompat.Button.Small"> <item name="android:minHeight">48dip</item> <item name="android:minWidth">48dip</item> </style>

<style name="AppTheme.ButtonOverlay"> <item name="colorAccent">#FF4081</item> </style>

<Button style="@style/Widget.AppCompat.Button.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="b" android:theme="@style/AppTheme.ButtonOverlay" />

CompoundButton

<style name="Base.Widget.AppCompat.CompoundButton.CheckBox" parent="android:Widget.CompoundButton.CheckBox"> <item name="android:button">?android:attr/listChoiceIndicatorMultiple</item> <item name="android:background">?attr/controlBackground</item> </style> <style name="Base.Widget.AppCompat.CompoundButton.RadioButton" parent="android:Widget.CompoundButton.RadioButton"> <item name="android:button">?android:attr/listChoiceIndicatorSingle</item> <item name="android:background">?attr/controlBackground</item> </style> <style name="Base.Widget.AppCompat.CompoundButton.Switch" parent="android:Widget.CompoundButton"> <item name="track">@drawable/abc_switch_track_mtrl_alpha</item> <item name="android:thumb">@drawable/abc_switch_thumb_material</item> <item name="switchTextAppearance">@style/TextAppearance.AppCompat.Widget.Switch</item> <item name="android:background">?attr/controlBackground</item> <item name="showText">false</item> <item name="switchPadding">@dimen/abc_switch_padding</item> <item name="android:textOn">@string/abc_capital_on</item> <item name="android:textOff">@string/abc_capital_off</item> </style>

TintManager の TINT_CHECKABLE_BUTTON_LIST

<style name="AppTheme" parent="Theme.AppCompat"> <item name="colorControlActivated">#FF4081</item> <item name="colorControlNormal">#3F51B5</item> </style>

<style name="AppTheme" parent="Theme.AppCompat"> <item name="colorControlActivated">#FF4081</item> <item name="android:colorForeground">#3F51B5</item> <item name="colorSwitchThumbNormal">@color/switch_thumb</item> </style>

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#66303F9F" android:state_enabled="false" /> <item android:color="#FFFFFF" /> </selector>

EditText

<style name="Base.V7.Widget.AppCompat.EditText" parent="android:Widget.EditText"> <item name="android:background">?attr/editTextBackground</item> <item name="android:textColor">?attr/editTextColor</item> <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item> </style>

<style name="AppTheme" parent="Theme.AppCompat"> <item name="colorControlActivated">#FF4081</item> <item name="colorControlNormal">#3F51B5</item> </style>

<style name="Theme.DroidKaigi" parent="Theme.AppCompat"> <item name="editTextStyle">@style/Widget.DroidKaigi.EditText</item> <!-- ↑だけで十分だが、プレビューに適用させるにはこれも必要 --> <item name="android:editTextStyle">@style/Widget.DroidKaigi.EditText</item> </style>

<style name="Widget.DroidKaigi.EditText" parent="Widget.AppCompat.EditText"> <item name="android:textAppearance">@style/TextAppearance.DroidKaigi.Widget.EditText</item> </style>

<style name="TextAppearance.DroidKaigi.Widget.EditText" parent="TextAppearance.AppCompat.Medium.Inverse"> <item name="android:textSize">17sp</item> </style>

<style name="Platform.AppCompat" parent="android:Theme"> … <item name="android:textColorHint">@color/hint_foreground_material_dark</item> <item name="android:textColorHintInverse">@color/hint_foreground_material_light</item> … </style>

<color name="hint_foreground_material_dark">@color/bright_foreground_disabled_material_dark</color> <color name="hint_foreground_material_light">@color/bright_foreground_disabled_material_light</color>

<color name="bright_foreground_disabled_material_dark">#80ffffff</color> <color name="bright_foreground_disabled_material_light">#80000000</color>

<style name="Theme.DroidKaigi.Light" parent="..."> <item name="android:textColorHint">#61000000</item> </style>

Spinner

<style name="Base.Widget.AppCompat.Spinner" parent="Platform.Widget.AppCompat.Spinner"> <item name="android:background">@drawable/abc_spinner_mtrl_am_alpha</item> <item name="android:popupBackground">@drawable/abc_popup_background_mtrl_mult</item> <item name="android:dropDownSelector">?attr/listChoiceBackgroundIndicator</item> <item name="android:dropDownVerticalOffset">0dip</item> <item name="android:dropDownHorizontalOffset">0dip</item> <item name="android:dropDownWidth">wrap_content</item> <item name="android:clickable">true</item> <item name="android:gravity">left|start|center_vertical</item> <item name="overlapAnchor">true</item> </style> <style name="Base.Widget.AppCompat.Spinner.Underlined"> <item name="android:background">@drawable/abc_spinner_textfield_background_material</item> </style> <style name="Base.Widget.AppCompat.TextView.SpinnerItem" parent="android:Widget.TextView.SpinnerItem"> <item name="android:textAppearance">@style/TextAppearance.AppCompat.Widget.TextView.SpinnerItem</item> <item name="android:paddingLeft">8dp</item> <item name="android:paddingRight">8dp</item> </style>

<resources> <string-array name="android"> <item>Donuts</item> <item>Eclair</item> <item>Froyo</item> </string-array> </resources>

<Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/android" />

public AbsSpinner(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); initAbsSpinner(); final TypedArray a = context.obtainStyledAttributes( attrs, R.styleable.AbsSpinner, defStyleAttr, defStyleRes); final CharSequence[] entries = a.getTextArray(R.styleable.AbsSpinner_entries); if (entries != null) { final ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>( context, R.layout.simple_spinner_item, entries); adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); setAdapter(adapter); } a.recycle();}

<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:textAlignment="inherit"/>

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerDropDownItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="?android:attr/dropdownListPreferredItemHeight" android:ellipsize="marquee"/>

<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:textAlignment="inherit"/>

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerDropDownItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="?android:attr/dropdownListPreferredItemHeight" android:ellipsize="marquee"/>

Widget.AppCompat.TextView.SpinnerItem

<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:textAlignment="inherit"/>

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerDropDownItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="?android:attr/dropdownListPreferredItemHeight" android:ellipsize="marquee"/>

Widget.AppCompat.TextView.SpinnerItem

Widget.AppCompat.ListView.DropDown

<style name="Theme.DroidKaigi" parent="Theme.AppCompat"> <item name="android:spinnerItemStyle">@style/Widget.DroidKaigi.TextView.SpinnerItem</item> </style>

<style name="Widget.DroidKaigi.TextView.SpinnerItem" parent="Widget.AppCompat.TextView.SpinnerItem"> <item name="android:minHeight">?attr/listPreferredItemHeightSmall</item> <item name="android:gravity">center_vertical</item> </style>

SeekBar

<style name="Base.Widget.AppCompat.SeekBar" parent="android:Widget"> <item name="android:indeterminateOnly">false</item> <item name="android:progressDrawable">@drawable/abc_seekbar_track_material</item> <item name="android:indeterminateDrawable">@drawable/abc_seekbar_track_material</item> <item name="android:thumb">@drawable/abc_seekbar_thumb_material</item> <item name="android:focusable">true</item> <item name="android:paddingLeft">16dip</item> <item name="android:paddingRight">16dip</item> </style>

<style name="AppTheme" parent="Theme.AppCompat"> <item name="colorControlActivated">#FF4081</item> <item name="colorControlNormal">#3F51B5</item> </style>

ProgressBar

ActionBar

<style name="Platform.ThemeOverlay.AppCompat" parent=""/><style name="Platform.ThemeOverlay.AppCompat.Dark"> <!-- Action Bar styles --> <item name="actionBarItemBackground">@drawable/abc_item_background_holo_dark</item> <item name="actionDropDownStyle">@style/Widget.AppCompat.Spinner.DropDown.ActionBar</item> <item name="selectableItemBackground">@drawable/abc_item_background_holo_dark</item> <!-- SearchView styles --> <item name="android:autoCompleteTextViewStyle">@style/Widget.AppCompat.AutoCompleteTextView</item> <item name="android:dropDownItemStyle">@style/Widget.AppCompat.DropDownItem.Spinner</item> </style> <style name="Platform.ThemeOverlay.AppCompat.Light"> <item name="actionBarItemBackground">@drawable/abc_item_background_holo_light</item> <item name="actionDropDownStyle">@style/Widget.AppCompat.Light.Spinner.DropDown.ActionBar</item> <item name="selectableItemBackground">@drawable/abc_item_background_holo_light</item> <!-- SearchView attributes --> <item name="android:autoCompleteTextViewStyle">@style/Widget.AppCompat.Light.AutoCompleteTextView</item> <item name="android:dropDownItemStyle">@style/Widget.AppCompat.DropDownItem.Spinner</item> </style>

ベーステーマなし

ActionBar系のスタイルだけ指定

<style name="Base.ThemeOverlay.AppCompat" parent="Platform.ThemeOverlay.AppCompat"/><style name="Base.ThemeOverlay.AppCompat.ActionBar"> <item name="colorControlNormal">?android:attr/textColorPrimary</item> <item name="searchViewStyle">@style/Widget.AppCompat.SearchView.ActionBar</item> </style>

<style name="Base.ThemeOverlay.AppCompat" parent="Platform.ThemeOverlay.AppCompat"/><style name="Base.ThemeOverlay.AppCompat.ActionBar"> <item name="colorControlNormal">?android:attr/textColorPrimary</item> <item name="searchViewStyle">@style/Widget.AppCompat.SearchView.ActionBar</item> </style>ActionBar の ←, オーバーフローアイコンの色

<style name="Base.ThemeOverlay.AppCompat.Dark" parent="Platform.ThemeOverlay.AppCompat.Dark"> <item name="android:windowBackground">@color/background_material_dark</item> <item name="android:colorForeground">@color/foreground_material_dark</item> <item name="android:colorForegroundInverse">@color/foreground_material_light</item> <item name="android:colorBackground">@color/background_material_dark</item> <item name="android:colorBackgroundCacheHint">@color/abc_background_cache_hint_selector_material_dark</item> <item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item> <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_light</item> <item name="android:textColorPrimaryDisableOnly">@color/abc_primary_text_disable_only_material_dark</item> <item name="android:textColorSecondary">@color/abc_secondary_text_material_dark</item> <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_light</item> <item name="android:textColorTertiary">@color/abc_secondary_text_material_dark</item> <item name="android:textColorTertiaryInverse">@color/abc_secondary_text_material_light</item> <item name="android:textColorHint">@color/hint_foreground_material_dark</item> <item name="android:textColorHintInverse">@color/hint_foreground_material_light</item> <item name="android:textColorHighlight">@color/highlighted_text_material_dark</item> <item name="colorControlNormal">?android:attr/textColorSecondary</item> <item name="colorControlHighlight">@color/ripple_material_dark</item> <item name="colorButtonNormal">@color/button_material_dark</item> <item name="colorSwitchThumbNormal">@color/switch_thumb_material_dark</item> <!-- Used by MediaRouter --> <item name="isLightTheme">false</item> </style> <style name="Base.ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="colorControlNormal">?android:attr/textColorPrimary</item> <item name="searchViewStyle">@style/Widget.AppCompat.SearchView.ActionBar</item> </style>

<style name="Base.ThemeOverlay.AppCompat.Dark" parent="Platform.ThemeOverlay.AppCompat.Dark"> <item name="android:windowBackground">@color/background_material_dark</item> <item name="android:colorForeground">@color/foreground_material_dark</item> <item name="android:colorForegroundInverse">@color/foreground_material_light</item> <item name="android:colorBackground">@color/background_material_dark</item> <item name="android:colorBackgroundCacheHint">@color/abc_background_cache_hint_selector_material_dark</item> <item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item> <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_light</item> <item name="android:textColorPrimaryDisableOnly">@color/abc_primary_text_disable_only_material_dark</item> <item name="android:textColorSecondary">@color/abc_secondary_text_material_dark</item> <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_light</item> <item name="android:textColorTertiary">@color/abc_secondary_text_material_dark</item> <item name="android:textColorTertiaryInverse">@color/abc_secondary_text_material_light</item> <item name="android:textColorHint">@color/hint_foreground_material_dark</item> <item name="android:textColorHintInverse">@color/hint_foreground_material_light</item> <item name="android:textColorHighlight">@color/highlighted_text_material_dark</item> <item name="colorControlNormal">?android:attr/textColorSecondary</item> <item name="colorControlHighlight">@color/ripple_material_dark</item> <item name="colorButtonNormal">@color/button_material_dark</item> <item name="colorSwitchThumbNormal">@color/switch_thumb_material_dark</item> <!-- Used by MediaRouter --> <item name="isLightTheme">false</item> </style> <style name="Base.ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="colorControlNormal">?android:attr/textColorPrimary</item> <item name="searchViewStyle">@style/Widget.AppCompat.SearchView.ActionBar</item> </style>

背景と色を指定

<style name="Base.ThemeOverlay.AppCompat.Light" parent="Platform.ThemeOverlay.AppCompat.Light"> <item name="android:windowBackground">@color/background_material_light</item> <item name="android:colorForeground">@color/foreground_material_light</item> <item name="android:colorForegroundInverse">@color/foreground_material_dark</item> <item name="android:colorBackground">@color/background_material_light</item> <item name="android:colorBackgroundCacheHint">@color/abc_background_cache_hint_selector_material_light</item> <item name="android:textColorPrimary">@color/abc_primary_text_material_light</item> <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_dark</item> <item name="android:textColorSecondary">@color/abc_secondary_text_material_light</item> <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_dark</item> <item name="android:textColorTertiary">@color/abc_secondary_text_material_light</item> <item name="android:textColorTertiaryInverse">@color/abc_secondary_text_material_dark</item> <item name="android:textColorPrimaryDisableOnly">@color/abc_primary_text_disable_only_material_light</item> <item name="android:textColorPrimaryInverseDisableOnly">@color/abc_primary_text_disable_only_material_dark</item> <item name="android:textColorHint">@color/hint_foreground_material_light</item> <item name="android:textColorHintInverse">@color/hint_foreground_material_dark</item> <item name="android:textColorHighlight">@color/highlighted_text_material_light</item> <item name="colorControlNormal">?android:attr/textColorSecondary</item> <item name="colorControlHighlight">@color/ripple_material_light</item> <item name="colorButtonNormal">@color/button_material_light</item> <item name="colorSwitchThumbNormal">@color/switch_thumb_material_light</item> <!-- Used by MediaRouter --> <item name="isLightTheme">true</item> </style>

<style name="Base.ThemeOverlay.AppCompat.Light" parent="Platform.ThemeOverlay.AppCompat.Light"> <item name="android:windowBackground">@color/background_material_light</item> <item name="android:colorForeground">@color/foreground_material_light</item> <item name="android:colorForegroundInverse">@color/foreground_material_dark</item> <item name="android:colorBackground">@color/background_material_light</item> <item name="android:colorBackgroundCacheHint">@color/abc_background_cache_hint_selector_material_light</item> <item name="android:textColorPrimary">@color/abc_primary_text_material_light</item> <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_dark</item> <item name="android:textColorSecondary">@color/abc_secondary_text_material_light</item> <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_dark</item> <item name="android:textColorTertiary">@color/abc_secondary_text_material_light</item> <item name="android:textColorTertiaryInverse">@color/abc_secondary_text_material_dark</item> <item name="android:textColorPrimaryDisableOnly">@color/abc_primary_text_disable_only_material_light</item> <item name="android:textColorPrimaryInverseDisableOnly">@color/abc_primary_text_disable_only_material_dark</item> <item name="android:textColorHint">@color/hint_foreground_material_light</item> <item name="android:textColorHintInverse">@color/hint_foreground_material_dark</item> <item name="android:textColorHighlight">@color/highlighted_text_material_light</item> <item name="colorControlNormal">?android:attr/textColorSecondary</item> <item name="colorControlHighlight">@color/ripple_material_light</item> <item name="colorButtonNormal">@color/button_material_light</item> <item name="colorSwitchThumbNormal">@color/switch_thumb_material_light</item> <!-- Used by MediaRouter --> <item name="isLightTheme">true</item> </style>

背景と色を指定

<style name="Theme.DroidKaigi.Light" parent="Theme.AppCompat.Light.DarkActionBar"> <item name=“actionBarTheme”>@style/ThemeOverlay.DroidKaigi.Dark.ActionBar</item> </style> <style name="ThemeOverlay.DroidKaigi.Dark.ActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="colorControlNormal">#FF4081</item> </style>

<android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.DroidKaigi.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> </android.support.design.widget.AppBarLayout>

<item name="android:windowTranslucentStatus">true</item>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="Theme.DroidKaigi.Light.NoActionBar" />

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:windowTranslucentStatus">true</item> </style>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="Theme.DroidKaigi.Light.NoActionBar" />

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:windowTranslucentStatus">true</item> </style>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" /> </LinearLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" /> </LinearLayout>

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/cover" tools:ignore="ContentDescription" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" /> </FrameLayout>

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/cover" tools:ignore="ContentDescription" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" /> </FrameLayout>

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/cover" tools:ignore="ContentDescription" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:text="New Button" /> </FrameLayout>

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/cover" tools:ignore="ContentDescription" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:text="New Button" /> </FrameLayout>

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView ... /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" /> </FrameLayout> </FrameLayout>

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView ... /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" /> </FrameLayout> </FrameLayout>

<item name="android:statusBarColor">@android:color/transparent</item>

<item name="android:statusBarColor">@android:color/transparent</item>

<item name="android:statusBarColor">@android:color/transparent</item>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowDrawsSystemBarBackgrounds">false</item> </style>

<item name="android:statusBarColor">@android:color/transparent</item>

<style name=“Theme.Material"> ... <item name="windowDrawsSystemBarBackgrounds">true</item> ...</style>

<item name="android:statusBarColor">@android:color/transparent</item>

<item name="android:statusBarColor">@android:color/transparent</item>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowTranslucentStatus">true</item> </style>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:statusBarColor">@android:color/transparent</item> </style>

@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); findViewById(android.R.id.content).setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);}

<item name="android:windowLightStatusBar">true</item>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowLightStatusBar">true</item> </style>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowLightStatusBar">true</item> </style>

<style name=“Theme.DroidKaigi.TranslucentStatusBar" parent="Theme.DroidKaigi.Light.NoActionBar" />

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:windowTranslucentStatus">true</item> </style>

<style name="Theme.DroidKaigi.TranslucentStatusBar" parent="..."> <item name="android:statusBarColor">@android:color/transparent</item> </style>

@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); findViewById(android.R.id.content).setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); }

top related