OSDN Git Service

Change nav bar style.
authorAnna Galusza <agalusza@google.com>
Sat, 27 Feb 2016 00:06:54 +0000 (16:06 -0800)
committerAnna Galusza <agalusza@google.com>
Tue, 1 Mar 2016 23:36:47 +0000 (15:36 -0800)
Bug: 27226956

Change-Id: I16e2234e44bf1d22f8b41de9d28c35226152d0ee

res/layout/accessibility_settings_for_suw.xml [new file with mode: 0644]
src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java

diff --git a/res/layout/accessibility_settings_for_suw.xml b/res/layout/accessibility_settings_for_suw.xml
new file mode 100644 (file)
index 0000000..a02c516
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2016 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:id="@+id/suw_main_content"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1" />
+
+    <com.android.setupwizardlib.view.NavigationBar
+        android:id="@+id/suw_navigation_bar"
+        style="@style/SuwNavBarTheme"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/suw_navbar_height" />
+
+</LinearLayout>
index 0d580ba..7e7f4d6 100644 (file)
 package com.android.settings.accessibility;
 
 import android.app.Fragment;
+import android.app.FragmentTransaction;
 import android.os.Bundle;
-import android.support.v4.widget.DrawerLayout;
 import android.text.TextUtils;
 import android.view.Menu;
-import android.view.MenuItem;
+import android.view.View;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.setupwizardlib.util.SystemBarHelper;
+import com.android.setupwizardlib.view.NavigationBar;
 
 public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity {
 
-
     @Override
     protected void onCreate(Bundle savedState) {
         super.onCreate(savedState);
 
         getActionBar().setDisplayHomeAsUpEnabled(true);
         setIsDrawerPresent(false);
+
+        // Hide System Nav Bar
+        SystemBarHelper.hideSystemBars(getWindow());
+
+        // Show SUW Nav Bar
+        setContentView(R.layout.accessibility_settings_for_suw);
+        NavigationBar navigationBar = (NavigationBar) findViewById(R.id.suw_navigation_bar);
+        navigationBar.getNextButton().setVisibility(View.GONE);
+        navigationBar.setNavigationBarListener(new NavigationBar.NavigationBarListener() {
+            @Override
+            public void onNavigateBack() {
+                onNavigateUp();
+            }
+
+            @Override
+            public void onNavigateNext() {
+                // Do nothing. We don't show this button.
+            }
+        });
     }
 
     @Override
@@ -45,7 +65,7 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
     }
 
     @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
+    public boolean onNavigateUp() {
         onBackPressed();
         return true;
     }
@@ -53,13 +73,35 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
     @Override
     public void startPreferencePanel(String fragmentClass, Bundle args, int titleRes,
             CharSequence titleText, Fragment resultTo, int resultRequestCode) {
+        // Set the title.
         if (!TextUtils.isEmpty(titleText)) {
             setTitle(titleText);
         } else if (titleRes > 0) {
             setTitle(getString(titleRes));
         }
 
+        // Start the new Fragment.
         args.putInt(SettingsPreferenceFragment.HELP_URI_RESOURCE_KEY, 0);
         startPreferenceFragment(Fragment.instantiate(this, fragmentClass, args), true);
     }
+
+    /**
+     * Start a new fragment.
+     *
+     * @param fragment The fragment to start
+     * @param push If true, the current fragment will be pushed onto the back stack.  If false,
+     * the current fragment will be replaced.
+     */
+    @Override
+    public void startPreferenceFragment(Fragment fragment, boolean push) {
+        FragmentTransaction transaction = getFragmentManager().beginTransaction();
+        transaction.replace(R.id.suw_main_content, fragment);
+        if (push) {
+            transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
+            transaction.addToBackStack(BACK_STACK_PREFS);
+        } else {
+            transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
+        }
+        transaction.commitAllowingStateLoss();
+    }
 }