瀏覽代碼

1:修复新闻页面点击回退键无效的bug。

guiying712 8 年之前
父節點
當前提交
7284292d30

+ 22 - 22
lib_common/src/main/java/com/guiying/common/base/BaseActionBarActivity.java

@@ -22,39 +22,39 @@ import android.support.v7.app.ActionBar;
  */
 public abstract class BaseActionBarActivity extends BaseActivity {
 
-    protected abstract
-    @StringRes
-    int setTitleId();
+    /*默认的ActionBar*/
+    protected ActionBar mActionBar;
 
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        //标题栏设置
-        ActionBar actionBar = getSupportActionBar();
-        if (actionBar != null) {
-            actionBar.setDisplayHomeAsUpEnabled(true);
-            actionBar.setHomeButtonEnabled(true);
-            actionBar.setTitle(setTitleId());
-        }
-    }
+    /**
+     * 设置默认标题id
+     *
+     * @return 标题id
+     */
+    @StringRes
+    protected abstract int setTitleId();
 
 
     /**
      * 更新标题
      *
-     * @param title 标题
+     * @param title String标题
      */
     protected void setTitle(String title) {
-        ActionBar actionBar = getSupportActionBar();
-        if (actionBar != null) {
-            actionBar.setTitle(title);
+        if (mActionBar != null) {
+            mActionBar.setTitle(title);
         }
     }
 
-
     @Override
-    public boolean onSupportNavigateUp() {
-        onBackPressed();
-        return true;
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        //标题栏设置
+        mActionBar = getSupportActionBar();
+        if (mActionBar != null) {
+            mActionBar.setDisplayHomeAsUpEnabled(true);
+            mActionBar.setHomeButtonEnabled(true);
+            mActionBar.setTitle(setTitleId());
+        }
     }
+
 }

+ 22 - 17
lib_common/src/main/java/com/guiying/common/base/BaseActivity.java

@@ -1,6 +1,5 @@
 package com.guiying.common.base;
 
-import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.IdRes;
 import android.support.v7.app.ActionBar;
@@ -18,11 +17,25 @@ import android.view.View;
 public abstract class BaseActivity extends AppCompatActivity {
 
     /**
-     * 处理Intent,防止开发人员没做Intent判空
+     * Setup the toolbar.
+     *
+     * @param toolbar   toolbar
+     * @param hideTitle 是否隐藏Title
      */
-    protected void handleIntent(Intent intent) {
+    protected void setupToolBar(Toolbar toolbar, boolean hideTitle) {
+        setSupportActionBar(toolbar);
+        ActionBar actionBar = getSupportActionBar();
+        if (actionBar != null) {
+            actionBar.setDisplayHomeAsUpEnabled(true);
+            actionBar.setDisplayShowHomeEnabled(true);
+            if (hideTitle) {
+                //隐藏Title
+                actionBar.setDisplayShowTitleEnabled(false);
+            }
+        }
     }
 
+
     /**
      * 封装的findViewByID方法
      */
@@ -35,22 +48,8 @@ public abstract class BaseActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         BaseApplication.getIns().addActivity(this);
-        //强制在基类Intent判空
-        if (null != getIntent()) {
-            handleIntent(getIntent());
-        }
     }
 
-    protected void setToolbar(Toolbar toolbar, String title) {
-        setSupportActionBar(toolbar);
-        ActionBar actionBar = getSupportActionBar();
-        if (null != actionBar) {
-            actionBar.setDisplayHomeAsUpEnabled(true);
-            actionBar.setDisplayShowHomeEnabled(true);
-            //actionBar.setDisplayShowTitleEnabled(false);//隐藏Title
-            actionBar.setTitle(title);
-        }
-    }
 
     @Override
     protected void onDestroy() {
@@ -58,4 +57,10 @@ public abstract class BaseActivity extends AppCompatActivity {
         BaseApplication.getIns().finishActivity(this);
     }
 
+    @Override
+    public boolean onSupportNavigateUp() {
+        onBackPressed();
+        return true;
+    }
+
 }

+ 2 - 1
module_news/src/main/java/com/guiying/news/main/NewsCenterActivity.java

@@ -28,7 +28,8 @@ public class NewsCenterActivity extends BaseActivity {
         super.onCreate(savedInstanceState);
         super.setContentView(R.layout.activity_news);
         mToolBar = (Toolbar) findViewById(R.id.news_title_bar);
-        setToolbar(mToolBar, "知乎日报");
+        mToolBar.setTitle("知乎日报");
+        setupToolBar(mToolBar, false);
         mTabLayout = (TabLayout) findViewById(R.id.date_tab);
         mViewPager = (ViewPager) findViewById(R.id.message_pager);
         mListAdapter = new NewsListViewAdapter(getMessageListViews(), getWeekDate());

+ 6 - 4
module_news/src/main/res/layout/activity_news.xml

@@ -3,17 +3,19 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="#ffff">
+    android:background="#ffffff">
 
     <android.support.design.widget.AppBarLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:theme="@style/AppTheme.AppBarOverlay">
 
         <android.support.v7.widget.Toolbar
             android:id="@+id/news_title_bar"
             android:layout_width="match_parent"
             android:layout_height="?attr/actionBarSize"
-            android:background="?attr/colorPrimary"
+            android:background="@color/colorPrimary"
+            android:theme="@style/Toolbar"
             app:layout_scrollFlags="scroll|enterAlways" />
 
         <android.support.design.widget.TabLayout
@@ -29,7 +31,7 @@
         android:id="@+id/message_pager"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="#ffff"
+        android:background="#ffffff"
         app:layout_behavior="@string/appbar_scrolling_view_behavior" />