OSDN Git Service

Add Theme and ThemeOverride for new Settings
authorFan Zhang <zhfan@google.com>
Thu, 15 Dec 2016 23:53:14 +0000 (15:53 -0800)
committerFan Zhang <zhfan@google.com>
Thu, 5 Jan 2017 22:29:23 +0000 (14:29 -0800)
Bug: 33558692
Test: visual inspection

The new action bar theme has
- light background
- colorAccent as textColorPrimary
- no elevation

Change-Id: I4c1b88410701a35b0e2305d9162ba448d1f5d67b

core/res/res/values/themes_device_defaults.xml
packages/SettingsLib/res/layout/settings_with_drawer.xml
packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java

index a711088..6bd6e1c 100644 (file)
@@ -742,6 +742,14 @@ easier.
         <item name="colorAccent">@color/accent_device_default_light</item>
     </style>
 
+    <!-- @hide DeviceDefault theme that should look like the Settings app. The action bar will use a
+         light background and accent color for text and icon. -->
+    <style name="Theme.DeviceDefault.Settings.LightActionBar">
+        <!-- ActionBar -->
+        <item name="actionBarTheme">@style/ThemeOverlay.DeviceDefault.ActionBar.Accent</item>
+        <item name="actionBarStyle">@style/Widget.DeviceDefault.Light.ActionBar</item>
+    </style>
+
     <!-- @hide DeviceDefault theme for a window that should use Settings theme colors
          but has a full dark palette. ONLY USED FOR QUICK SETTINGS THEME -->
     <style name="Theme.DeviceDefault.QuickSettings" parent="Theme.Material">
@@ -809,6 +817,12 @@ easier.
 
     <style name="ThemeOverlay.DeviceDefault" />
 
+    <!-- @hide Theme overlay that inherits from material actionbar,  and use accent color for
+             primary text -->
+    <style name="ThemeOverlay.DeviceDefault.ActionBar.Accent" parent="ThemeOverlay.Material.ActionBar">
+        <item name="textColorPrimary">@color/btn_colored_borderless_text_material</item>
+    </style>
+
     <style name="ThemeOverlay.DeviceDefault.Accent">
         <item name="colorAccent">@color/accent_device_default_dark</item>
     </style>
index af96d8b..24a5422 100644 (file)
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="?android:attr/statusBarColor">
+    android:layout_height="match_parent">
     <!-- The main content view -->
     <LinearLayout
         android:id="@+id/content_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical"
-        android:fitsSystemWindows="true" >
+        android:fitsSystemWindows="true">
         <FrameLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            style="?android:attr/actionBarStyle">
+            android:theme="?android:attr/actionBarTheme">
             <Toolbar
-                xmlns:android="http://schemas.android.com/apk/res/android"
                 android:id="@+id/action_bar"
+                style="?android:attr/actionBarStyle"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:navigationContentDescription="@*android:string/action_bar_up_description"
-                android:theme="?android:attr/actionBarTheme"
-                style="?android:attr/toolbarStyle"
-                android:background="?android:attr/colorPrimary" />
+                android:navigationContentDescription="@*android:string/action_bar_up_description"/>
         </FrameLayout>
         <FrameLayout
             android:id="@+id/content_header_container"
+            style="?android:attr/actionBarStyle"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            style="?android:attr/actionBarStyle" />
+            android:layout_height="wrap_content"/>
         <FrameLayout
             android:id="@+id/content_frame"
             android:layout_width="match_parent"
index 89ed110..3aa0cda 100644 (file)
@@ -90,7 +90,6 @@ public class SettingsDrawerActivity extends Activity {
         TypedArray theme = getTheme().obtainStyledAttributes(android.R.styleable.Theme);
         if (!theme.getBoolean(android.R.styleable.Theme_windowNoTitle, false)) {
             getWindow().addFlags(LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
-            getWindow().addFlags(LayoutParams.FLAG_TRANSLUCENT_STATUS);
             requestWindowFeature(Window.FEATURE_NO_TITLE);
         }
         super.setContentView(R.layout.settings_with_drawer);