forked from guofudong/KotlinAndroid
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
29 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,15 +19,14 @@ import java.util.* | |
* @Author : 郭富东 | ||
* @Date :2018/8/2 - 15:22 | ||
* @Email:[email protected] | ||
* @descriptio:应用主页面:主要加载4个业务模块对应的Fragment | ||
* @descriptio: | ||
*/ | ||
class MainActivity : BaseActivity() { | ||
|
||
private lateinit var mHomeFragment: BaseFragment | ||
private lateinit var mMusicFragment: BaseFragment | ||
private lateinit var mLiveFragment: BaseFragment | ||
private lateinit var mCrosstalkFragment: BaseFragment | ||
private val STATUSBAR_POSITION = 1 | ||
|
||
private val mStack = Stack<BaseFragment>() | ||
|
||
|
@@ -49,17 +48,30 @@ class MainActivity : BaseActivity() { | |
override fun setListener() { | ||
bottomBar.setOnTabSelectListener { | ||
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //显示状态栏 | ||
// PlayUtils.release() | ||
when (it) { | ||
R.id.tab_home -> {//首页 | ||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//android6.0以后可以对状态栏文字颜色和图标进行修改 | ||
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | ||
} | ||
changeFragment(0) | ||
} | ||
R.id.tab_music -> {//音乐 | ||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//android6.0以后可以对状态栏文字颜色和图标进行修改 | ||
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE | ||
} | ||
changeFragment(1) | ||
} | ||
R.id.tab_play -> {//直播 | ||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//android6.0以后可以对状态栏文字颜色和图标进行修改 | ||
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | ||
} | ||
changeFragment(2) | ||
} | ||
R.id.tab_mine -> {//相声 | ||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//android6.0以后可以对状态栏文字颜色和图标进行修改 | ||
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | ||
} | ||
changeFragment(3) | ||
} | ||
} | ||
|
@@ -73,26 +85,27 @@ class MainActivity : BaseActivity() { | |
val liveService = router.getService(LiveService::class.simpleName) | ||
val crosstalkService = router.getService(CrosstalkService::class.simpleName) | ||
val homeService = router.getService(HomeService::class.simpleName) | ||
val bt = supportFragmentManager.beginTransaction() | ||
if (homeService != null) { | ||
mHomeFragment = (homeService as HomeService).getHomeFragment() | ||
bt.add(R.id.rootLay, mHomeFragment) | ||
mStack.add(mHomeFragment) | ||
} | ||
if (homeService != null) { | ||
mMusicFragment = (musicService as MusicService).getMusicFragment() | ||
bt.add(R.id.rootLay, mMusicFragment) | ||
} | ||
if (homeService != null) { | ||
mLiveFragment = (liveService as LiveService).getLiveFragment() | ||
bt.add(R.id.rootLay, mLiveFragment) | ||
mStack.add(mLiveFragment) | ||
} | ||
if (homeService != null) { | ||
mCrosstalkFragment = (crosstalkService as CrosstalkService).getCrosstalkFragment() | ||
bt.add(R.id.rootLay, mCrosstalkFragment) | ||
mStack.add(mCrosstalkFragment) | ||
} | ||
val bt = supportFragmentManager.beginTransaction() | ||
bt.add(R.id.rootLay, mHomeFragment) | ||
bt.add(R.id.rootLay, mMusicFragment) | ||
bt.add(R.id.rootLay, mLiveFragment) | ||
bt.add(R.id.rootLay, mCrosstalkFragment) | ||
mStack.add(mHomeFragment) | ||
mStack.add(mMusicFragment) | ||
mStack.add(mLiveFragment) | ||
mStack.add(mCrosstalkFragment) | ||
bt.commit() | ||
} | ||
|
||
|
@@ -101,23 +114,12 @@ class MainActivity : BaseActivity() { | |
* @param position Int | ||
*/ | ||
private fun changeFragment(position: Int) { | ||
if (position < mStack.size) { | ||
val bt = supportFragmentManager.beginTransaction() | ||
mStack.forEach { | ||
bt.hide(it) | ||
} | ||
bt.show(mStack[position]) | ||
bt.commit() | ||
//android6.0以后可以对状态栏文字颜色和图标进行修改 | ||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { | ||
window.decorView.systemUiVisibility = | ||
if (position == STATUSBAR_POSITION) { | ||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE | ||
} else { | ||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | ||
} | ||
} | ||
val bt = supportFragmentManager.beginTransaction() | ||
mStack.forEach { | ||
bt.hide(it) | ||
} | ||
bt.show(mStack[position]) | ||
bt.commit() | ||
} | ||
|
||
/** | ||
|
@@ -135,5 +137,5 @@ class MainActivity : BaseActivity() { | |
backHome() | ||
} | ||
} | ||
|
||
} | ||
|