Skip to content

Commit 92a21bd

Browse files
committed
mod
1 parent 8d0dd2e commit 92a21bd

5 files changed

Lines changed: 42 additions & 8 deletions

File tree

app/src/main/java/com/cxz/wanandroid/ui/activity/KnowledgeActivity.kt

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
package com.cxz.wanandroid.ui.activity
22

33
import android.content.Intent
4+
import android.content.res.ColorStateList
45
import android.support.design.widget.TabLayout
56
import android.view.Menu
67
import android.view.MenuItem
8+
import android.view.View
79
import com.cxz.wanandroid.R
810
import com.cxz.wanandroid.adapter.KnowledgePagerAdapter
911
import com.cxz.wanandroid.base.BaseSwipeBackActivity
1012
import com.cxz.wanandroid.constant.Constant
1113
import com.cxz.wanandroid.event.ColorEvent
1214
import com.cxz.wanandroid.mvp.model.bean.Knowledge
1315
import com.cxz.wanandroid.mvp.model.bean.KnowledgeTreeBody
16+
import com.cxz.wanandroid.ui.fragment.KnowledgeFragment
1417
import com.cxz.wanandroid.utils.SettingUtil
1518
import kotlinx.android.synthetic.main.activity_knowledge.*
1619
import org.greenrobot.eventbus.Subscribe
@@ -38,9 +41,9 @@ class KnowledgeActivity : BaseSwipeBackActivity() {
3841
override fun attachLayoutRes(): Int = R.layout.activity_knowledge
3942

4043
override fun initData() {
41-
intent.extras.let {
42-
toolbarTitle = it.getString(Constant.CONTENT_TITLE_KEY)
43-
it.getSerializable(Constant.CONTENT_DATA_KEY).let {
44+
intent.extras?.let {
45+
toolbarTitle = it.getString(Constant.CONTENT_TITLE_KEY) ?: ""
46+
it.getSerializable(Constant.CONTENT_DATA_KEY)?.let {
4447
val data = it as KnowledgeTreeBody
4548
data.children.let { children ->
4649
knowledges.addAll(children)
@@ -69,6 +72,9 @@ class KnowledgeActivity : BaseSwipeBackActivity() {
6972
addOnTabSelectedListener(TabLayout.ViewPagerOnTabSelectedListener(viewPager))
7073
addOnTabSelectedListener(onTabSelectedListener)
7174
}
75+
floating_action_btn.run {
76+
setOnClickListener(onFABClickListener)
77+
}
7278

7379
}
7480

@@ -85,6 +91,7 @@ class KnowledgeActivity : BaseSwipeBackActivity() {
8591
if (event.isRefresh) {
8692
if (!SettingUtil.getIsNightMode()) {
8793
tabLayout.setBackgroundColor(SettingUtil.getColor())
94+
floating_action_btn.backgroundTintList = ColorStateList.valueOf(mThemeColor)
8895
}
8996
}
9097
}
@@ -101,8 +108,21 @@ class KnowledgeActivity : BaseSwipeBackActivity() {
101108

102109
override fun onTabSelected(tab: TabLayout.Tab?) {
103110
// 默认切换的时候,会有一个过渡动画,设为false后,取消动画,直接显示
104-
viewPager.setCurrentItem(tab?.position!!, false)
111+
tab?.let {
112+
viewPager.setCurrentItem(it.position, false)
113+
}
114+
}
115+
}
116+
117+
/**
118+
* FAB 监听
119+
*/
120+
private val onFABClickListener = View.OnClickListener {
121+
if (viewPagerAdapter.count == 0) {
122+
return@OnClickListener
105123
}
124+
val fragment: KnowledgeFragment = viewPagerAdapter.getItem(viewPager.currentItem) as KnowledgeFragment
125+
fragment.scrollToTop()
106126
}
107127

108128
override fun onCreateOptionsMenu(menu: Menu?): Boolean {

app/src/main/java/com/cxz/wanandroid/ui/activity/MainActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,15 @@ class MainActivity : BaseActivity(), MainContract.View {
127127
} else {
128128
username
129129
}
130-
setOnClickListener({
130+
setOnClickListener {
131131
if (!isLogin) {
132132
Intent(this@MainActivity, LoginActivity::class.java).run {
133133
startActivity(this)
134134
}
135135
} else {
136136

137137
}
138-
})
138+
}
139139
}
140140

141141
showFragment(mIndex)

app/src/main/java/com/cxz/wanandroid/ui/activity/TodoActivity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ class TodoActivity : BaseSwipeBackActivity() {
9494

9595
override fun onTabSelected(tab: TabLayout.Tab?) {
9696
// 默认切换的时候,会有一个过渡动画,设为false后,取消动画,直接显示
97-
viewPager.setCurrentItem(tab?.position!!, false)
97+
tab?.let {
98+
viewPager.setCurrentItem(it.position, false)
99+
}
98100
}
99101
}
100102

app/src/main/java/com/cxz/wanandroid/ui/fragment/ProjectFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,9 @@ class ProjectFragment : BaseFragment(), ProjectContract.View {
110110

111111
override fun onTabSelected(tab: TabLayout.Tab?) {
112112
// 默认切换的时候,会有一个过渡动画,设为false后,取消动画,直接显示
113-
viewPager.setCurrentItem(tab?.position!!, false)
113+
tab?.let {
114+
viewPager.setCurrentItem(it.position, false)
115+
}
114116
}
115117
}
116118

app/src/main/res/layout/activity_knowledge.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,16 @@
3434

3535
</android.support.design.widget.AppBarLayout>
3636

37+
<android.support.design.widget.FloatingActionButton
38+
android:id="@+id/floating_action_btn"
39+
android:layout_width="wrap_content"
40+
android:layout_height="wrap_content"
41+
android:layout_gravity="bottom|right"
42+
android:layout_marginBottom="@dimen/dp_20"
43+
android:layout_marginRight="@dimen/dp_20"
44+
app:layout_behavior="com.cxz.wanandroid.widget.behavior.ScaleDownShowBehavior"
45+
app:srcCompat="@drawable/ic_arrow_upward_white_24dp" />
46+
3747
<android.support.v4.view.ViewPager
3848
android:id="@+id/viewPager"
3949
android:layout_width="match_parent"

0 commit comments

Comments
 (0)