Skip to content

Commit

Permalink
添加了关注相关 api 和界面
Browse files Browse the repository at this point in the history
  • Loading branch information
git-xuhao committed Dec 7, 2017
1 parent bb0448a commit 8aad113
Show file tree
Hide file tree
Showing 15 changed files with 133 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ class CategoryDetailActivity : BaseActivity(), CategoryDetailContract.View {
}

override fun showLoading() {
multipleStatusView.showLoading()
// multipleStatusView.showLoading()

}

Expand Down
20 changes: 10 additions & 10 deletions app/src/main/java/com/hazz/kotlinmvp/ui/activity/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ import java.util.*
class MainActivity : BaseActivity() {


private val mTitles = arrayOf("每日精选", "分类", "热门", "我的")
private val mTitles = arrayOf("每日精选", "发现", "热门", "我的")

// 未被选中的图标
private val mIconUnSelectIds = intArrayOf(R.mipmap.ic_home_normal, R.mipmap.ic_category_normal, R.mipmap.ic_hot_normal, R.mipmap.ic_mine_normal)
private val mIconUnSelectIds = intArrayOf(R.mipmap.ic_home_normal, R.mipmap.ic_discovery_normal, R.mipmap.ic_hot_normal, R.mipmap.ic_mine_normal)
// 被选中的图标
private val mIconSelectIds = intArrayOf(R.mipmap.ic_home_selected, R.mipmap.ic_category_selected, R.mipmap.ic_hot_selected, R.mipmap.ic_mine_selected)
private val mIconSelectIds = intArrayOf(R.mipmap.ic_home_selected, R.mipmap.ic_discovery_selected, R.mipmap.ic_hot_selected, R.mipmap.ic_mine_selected)

private val mTabEntities = ArrayList<CustomTabEntity>()

private var mHomeFragment: HomeFragment? = null
private var mCategoryFragment: DiscoveryFragment? = null
private var mDiscoveryFragment: DiscoveryFragment? = null
private var mHotFragment: HotFragment? = null
private var mMeiTuFragment: MineFragment?=null

Expand Down Expand Up @@ -93,11 +93,11 @@ class MainActivity : BaseActivity() {
transaction.show(mHomeFragment)
}
1 //分类
-> if (mCategoryFragment == null) {
mCategoryFragment = DiscoveryFragment.getInstance(mTitles[position])
transaction.add(R.id.fl_container, mCategoryFragment, "category")
-> if (mDiscoveryFragment == null) {
mDiscoveryFragment = DiscoveryFragment.getInstance(mTitles[position])
transaction.add(R.id.fl_container, mDiscoveryFragment, "category")
} else {
transaction.show(mCategoryFragment)
transaction.show(mDiscoveryFragment)
}
2 //热门
-> if ( mHotFragment == null) {
Expand Down Expand Up @@ -133,8 +133,8 @@ class MainActivity : BaseActivity() {
if (null != mHomeFragment) {
transaction.hide(mHomeFragment)
}
if (null != mCategoryFragment) {
transaction.hide(mCategoryFragment)
if (null != mDiscoveryFragment) {
transaction.hide(mDiscoveryFragment)
}
if (null != mHotFragment) {
transaction.hide(mHotFragment)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
package com.hazz.kotlinmvp.ui.adapter

import android.app.Activity
import android.content.Context
import android.content.Intent
import android.support.v4.app.ActivityCompat
import android.support.v4.app.ActivityOptionsCompat
import android.support.v4.util.Pair
import android.view.View
import android.widget.ImageView
import com.hazz.kotlinmvp.Constants
import com.hazz.kotlinmvp.R
import com.hazz.kotlinmvp.durationFormat
import com.hazz.kotlinmvp.glide.GlideApp
import com.hazz.kotlinmvp.mvp.model.bean.HomeBean
import com.hazz.kotlinmvp.ui.activity.VideoDetailActivity
import com.hazz.kotlinmvp.view.recyclerview.ViewHolder
import com.hazz.kotlinmvp.view.recyclerview.adapter.CommonAdapter

Expand Down Expand Up @@ -42,8 +50,32 @@ class FollowHorizontalAdapter(mContext: Context, categoryList: ArrayList<HomeBea
//标签
holder.setText(R.id.tv_tag, "#${data.data.tags[0].name} / $timeFormat")
}
holder.setOnItemClickListener(listener = View.OnClickListener {
goToVideoPlayer(mContext as Activity, holder.getView(R.id.iv_cover_feed), data)
})


}

/**
* 跳转到视频详情页面播放
*
* @param activity
* @param view
*/
private fun goToVideoPlayer(activity: Activity, view: View, itemData: HomeBean.Issue.Item) {
val intent = Intent(activity, VideoDetailActivity::class.java)
intent.putExtra(Constants.BUNDLE_VIDEO_DATA, itemData)
intent.putExtra(VideoDetailActivity.Companion.TRANSITION, true)
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
val pair = Pair<View, String>(view, VideoDetailActivity.IMG_TRANSITION)
val activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(
activity, pair)
ActivityCompat.startActivity(activity, intent, activityOptions.toBundle())
} else {
activity.startActivity(intent)
activity.overridePendingTransition(R.anim.anim_in, R.anim.anim_out)
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.hazz.kotlinmvp.R
import com.hazz.kotlinmvp.base.BaseFragment
import com.hazz.kotlinmvp.base.BaseFragmentAdapter
import com.hazz.kotlinmvp.utils.StatusBarUtil
import com.hazz.kotlinmvp.view.TabLayoutHelper
import kotlinx.android.synthetic.main.fragment_hot.*

/**
Expand Down Expand Up @@ -38,7 +39,7 @@ class DiscoveryFragment:BaseFragment(){
StatusBarUtil.darkMode(activity)
StatusBarUtil.setPaddingSmart(activity, toolbar)

tv_header_title.text = "发现"
tv_header_title.text = mTitle

tabList.add("关注")
tabList.add("分类")
Expand All @@ -50,6 +51,7 @@ class DiscoveryFragment:BaseFragment(){
*/
mViewPager.adapter = BaseFragmentAdapter(childFragmentManager,fragments,tabList)
mTabLayout.setupWithViewPager(mViewPager)
TabLayoutHelper.setUpIndicatorWidth(mTabLayout)



Expand Down
15 changes: 13 additions & 2 deletions app/src/main/java/com/hazz/kotlinmvp/ui/fragment/FollowFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import com.hazz.kotlinmvp.base.BaseFragment
import com.hazz.kotlinmvp.mvp.contract.FollowContract
import com.hazz.kotlinmvp.mvp.model.bean.HomeBean
import com.hazz.kotlinmvp.mvp.presenter.FollowPresenter
import com.hazz.kotlinmvp.net.exception.ErrorStatus
import com.hazz.kotlinmvp.showToast
import com.hazz.kotlinmvp.ui.adapter.FollowAdapter
import kotlinx.android.synthetic.main.layout_recyclerview.*

Expand Down Expand Up @@ -76,11 +78,12 @@ class FollowFragment : BaseFragment(), FollowContract.View {


override fun showLoading() {
multipleStatusView.showLoading()

}

override fun dismissLoading() {

multipleStatusView.showContent()
}

override fun setFollowInfo(issue: HomeBean.Issue) {
Expand All @@ -89,8 +92,16 @@ class FollowFragment : BaseFragment(), FollowContract.View {
mFollowAdapter.addData(itemList)
}

/**
* 显示错误信息
*/
override fun showError(errorMsg: String, errorCode: Int) {

showToast(errorMsg)
if (errorCode == ErrorStatus.NETWORK_ERROR) {
mLayoutStatusView?.showNoNetwork()
} else {
mLayoutStatusView?.showError()
}
}

override fun onDestroy() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import com.hazz.kotlinmvp.mvp.contract.HotTabContract
import com.hazz.kotlinmvp.mvp.model.bean.TabInfoBean
import com.hazz.kotlinmvp.mvp.presenter.HotTabPresenter
import com.hazz.kotlinmvp.utils.StatusBarUtil
import com.hazz.kotlinmvp.view.TabLayoutHelper
import kotlinx.android.synthetic.main.fragment_hot.*

/**
Expand Down
48 changes: 48 additions & 0 deletions app/src/main/java/com/hazz/kotlinmvp/view/TabLayoutHelper.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.hazz.kotlinmvp.view

import android.annotation.SuppressLint
import android.os.Build
import android.support.design.widget.TabLayout
import android.widget.LinearLayout
import com.hazz.kotlinmvp.utils.DisplayManager
import java.lang.reflect.Field

/**
* Created by xuhao on 2017/12/7.
* desc:
*/
object TabLayoutHelper{

@SuppressLint("ObsoleteSdkInt")
fun setUpIndicatorWidth(tabLayout: TabLayout) {
val tabLayoutClass = tabLayout.javaClass
var tabStrip: Field? = null
try {
tabStrip = tabLayoutClass.getDeclaredField("mTabStrip")
tabStrip!!.isAccessible = true
} catch (e: NoSuchFieldException) {
e.printStackTrace()
}

var layout: LinearLayout? = null
try {
if (tabStrip != null) {
layout = tabStrip.get(tabLayout) as LinearLayout
}
for (i in 0 until layout!!.childCount) {
val child = layout.getChildAt(i)
child.setPadding(0, 0, 0, 0)
val params = LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1f)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
params.marginStart = DisplayManager.dip2px(50f)!!
params.marginEnd = DisplayManager.dip2px(50f)!!
}
child.layoutParams = params
child.invalidate()
}
} catch (e: IllegalAccessException) {
e.printStackTrace()
}

}
}
25 changes: 0 additions & 25 deletions app/src/main/res/layout/fragment_category.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,29 +19,4 @@
android:paddingBottom="51dp"
tools:listitem="@layout/item_category" />


<!--<android.support.v7.widget.Toolbar-->
<!--android:id="@+id/toolbar"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="?attr/actionBarSize"-->
<!--android:background="@color/color_title_bg">-->

<!--<RelativeLayout-->
<!--android:id="@+id/rel_toolbar"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent">-->

<!--<TextView-->
<!--android:id="@+id/tv_header_title"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_centerHorizontal="true"-->
<!--android:layout_centerVertical="true"-->
<!--android:text="@string/category_title"-->
<!--android:textColor="@color/color_item_title"-->
<!--android:textSize="18sp"-->
<!--android:textStyle="bold" />-->
<!--</RelativeLayout>-->
<!--</android.support.v7.widget.Toolbar>-->

</com.classic.common.MultipleStatusView>
5 changes: 5 additions & 0 deletions app/src/main/res/layout/fragment_hot.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,15 @@
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/color_title_bg"
app:tabMinWidth="100dp"
app:tabIndicatorColor="#000"
app:tabIndicatorHeight="2dp"
app:tabSelectedTextColor="#000"
app:tabTextColor="#5000" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/division_line"
android:background="@color/color_light_black"/>

<android.support.v4.view.ViewPager
android:id="@+id/mViewPager"
Expand Down
24 changes: 18 additions & 6 deletions app/src/main/res/layout/layout_recyclerview.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mRecyclerView"
<com.classic.common.MultipleStatusView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/multipleStatusView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:paddingBottom="@dimen/padding_tab_layout_bottom">
android:layout_height="match_parent"
android:background="@color/backgroundColor"
app:emptyView="@layout/layout_empty_view"
app:errorView="@layout/layout_error_view"
app:loadingView="@layout/layout_loading_view"
app:noNetworkView="@layout/layout_network_view">

</android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mRecyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:paddingBottom="@dimen/padding_tab_layout_bottom">

</android.support.v7.widget.RecyclerView>
</com.classic.common.MultipleStatusView>
Binary file removed app/src/main/res/mipmap-xhdpi/ic_category_normal.png
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@

<color name="color_aquamarine">#7FFFD4</color>

<color name="color_light_black">#5000</color>




Expand Down

0 comments on commit 8aad113

Please sign in to comment.