Skip to content

Commit

Permalink
解决切换夜间模式后Toolbar标题与内容不符的bug
Browse files Browse the repository at this point in the history
  • Loading branch information
wangjianxiandev committed May 9, 2020
1 parent 99106df commit 2b729a8
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import androidx.core.graphics.ColorUtils
import com.kingja.loadsir.core.LoadService
import com.kingja.loadsir.core.LoadSir
Expand Down Expand Up @@ -111,25 +110,10 @@ abstract class BaseActivity : AppCompatActivity() {
}
}


fun setUpReveal(savedInstanceState: Bundle?) {
setReveal(savedInstanceState)
}

/**
* 设置标题
*/
fun setToolBarTitle(toolbar: Toolbar, title: String) {
toolbar.title = title
setSupportActionBar(toolbar)
val supportActionBar = supportActionBar

supportActionBar?.let {
it.setDisplayHomeAsUpEnabled(true)
it.setDisplayShowHomeEnabled(true)
}
}

/**
* 设置返回
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ object Constant {
const val NIGHT_MODE = "night_mode"

const val HOME = 0
const val WECHAT = 1
const val SYSTEM = 2
const val SYSTEM = 1
const val WECHAT = 2
const val NAVIGATION = 3
const val PROJECT = 4

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import android.view.View
import android.view.animation.AccelerateDecelerateInterpolator
import android.widget.Toast
import androidx.appcompat.app.ActionBarDrawerToggle
import androidx.appcompat.widget.Toolbar
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
Expand Down Expand Up @@ -66,9 +67,12 @@ class MainActivity : BaseActivity(), LoginSuccessListener {
Manifest.permission.READ_EXTERNAL_STORAGE
)

private lateinit var mToolbarTitles: List<String>

override fun getLayoutId(): Int = R.layout.activity_main

override fun initView() {
initToolbarTitles()
initToolBar()
initDrawerLayout()
initFabButton()
Expand Down Expand Up @@ -97,9 +101,17 @@ class MainActivity : BaseActivity(), LoginSuccessListener {
switchFragment(mLastIndex)
}

private fun initToolbarTitles() {
mToolbarTitles = arrayListOf(
getString(R.string.navigation_home),
getString(R.string.navigation_system),
getString(R.string.navigation_wechat),
getString(R.string.navigation_navigation),
getString(R.string.navigation_project)
)
}

private fun initToolBar() {
// 设置标题
setToolBarTitle(toolbar, getString(R.string.navigation_home))
//设置导航图标、按钮有旋转特效
val toggle = ActionBarDrawerToggle(
this, drawer_main, toolbar, R.string.app_name, R.string.app_name
Expand Down Expand Up @@ -207,31 +219,26 @@ class MainActivity : BaseActivity(), LoginSuccessListener {
when (menuItem.itemId) {
R.id.menu_home -> {
fab_add.visibility = View.VISIBLE
setToolBarTitle(toolbar, getString(R.string.navigation_home))
switchFragment(Constant.HOME)
return@setOnNavigationItemSelectedListener true
}
R.id.menu_wechat -> {
R.id.menu_system -> {
fab_add.visibility = View.GONE
setToolBarTitle(toolbar, getString(R.string.navigation_wechat))
switchFragment(Constant.WECHAT)
switchFragment(Constant.SYSTEM)
return@setOnNavigationItemSelectedListener true
}
R.id.menu_system -> {
R.id.menu_wechat -> {
fab_add.visibility = View.GONE
setToolBarTitle(toolbar, getString(R.string.navigation_system))
switchFragment(Constant.SYSTEM)
switchFragment(Constant.WECHAT)
return@setOnNavigationItemSelectedListener true
}
R.id.menu_navigation -> {
fab_add.visibility = View.GONE
setToolBarTitle(toolbar, getString(R.string.navigation_navigation))
switchFragment(Constant.NAVIGATION)
return@setOnNavigationItemSelectedListener true
}
R.id.menu_project -> {
fab_add.visibility = View.GONE
setToolBarTitle(toolbar, getString(R.string.navigation_project))
switchFragment(Constant.PROJECT)
return@setOnNavigationItemSelectedListener true
}
Expand All @@ -240,11 +247,6 @@ class MainActivity : BaseActivity(), LoginSuccessListener {
}
}

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.search_menu, menu)
return super.onCreateOptionsMenu(menu)
}

private fun switchFragment(index: Int) {
val fragmentManager = supportFragmentManager
val transaction =
Expand Down Expand Up @@ -275,6 +277,7 @@ class MainActivity : BaseActivity(), LoginSuccessListener {
}
transaction.commit()
mLastIndex = index
setToolBarTitle(toolbar, mToolbarTitles[mLastIndex])
}

private fun getFragment(index: Int): Fragment {
Expand All @@ -292,6 +295,21 @@ class MainActivity : BaseActivity(), LoginSuccessListener {
return fragment!!
}

fun setToolBarTitle(toolbar: Toolbar, title: String) {
toolbar.title = title
setSupportActionBar(toolbar)
val supportActionBar = supportActionBar
supportActionBar?.let {
it.setDisplayHomeAsUpEnabled(true)
it.setDisplayShowHomeEnabled(true)
}
}

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.search_menu, menu)
return super.onCreateOptionsMenu(menu)
}

@SuppressLint("WrongConstant")
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
when (item?.itemId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ class SettingFragment : PreferenceFragmentCompat(),
} else {
ColorUtil.setColor(ColorUtil.getLastColor(parentActivity))
}
// RecreateEvent().post()
true
}

Expand Down
10 changes: 5 additions & 5 deletions app/src/main/res/menu/navigation_bottom_menu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@
<item
android:id="@+id/menu_home"
android:checked="true"
android:icon="@mipmap/navigation_home"
android:icon="@drawable/navigation_home"
android:title="@string/navigation_home" />

<item
android:id="@+id/menu_system"
android:icon="@mipmap/navigation_system"
android:icon="@drawable/navigation_system"
android:title="@string/navigation_system" />
<item
android:id="@+id/menu_wechat"
android:icon="@mipmap/navigation_wechat"
android:icon="@drawable/navigation_wechat"
android:title="@string/navigation_wechat" />
<item
android:id="@+id/menu_navigation"
android:icon="@mipmap/navigation_navigation"
android:icon="@drawable/navigation_navigation"
android:title="@string/navigation_navigation" />

<item
android:id="@+id/menu_project"
android:icon="@mipmap/navigation_project"
android:icon="@drawable/navigation_project"
android:title="@string/navigation_project" />
</menu>

0 comments on commit 2b729a8

Please sign in to comment.