package com.zcy.ghost.vivideo.ui.fragments;
import android.support.v7.widget.GridLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.jude.easyrecyclerview.EasyRecyclerView;
import com.jude.easyrecyclerview.adapter.RecyclerArrayAdapter;
import com.jude.easyrecyclerview.decoration.SpaceDecoration;
import com.zcy.ghost.vivideo.R;
import com.zcy.ghost.vivideo.base.BaseFragment;
import com.zcy.ghost.vivideo.model.bean.VideoRes;
import com.zcy.ghost.vivideo.presenter.VideoInfoPresenter;
import com.zcy.ghost.vivideo.ui.adapter.RelatedAdapter;
import com.zcy.ghost.vivideo.utils.JumpUtil;
import com.zcy.ghost.vivideo.utils.ScreenUtil;
import com.zcy.ghost.vivideo.utils.StringUtils;
import com.zcy.ghost.vivideo.widget.TextViewExpandableAnimation;
import org.simple.eventbus.EventBus;
import org.simple.eventbus.Subscriber;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Description: 详情——简介
* Creator: yxc
* date: 2016/9/9 9:54
*/
public class VideoIntroFragment extends BaseFragment {
@BindView(R.id.recyclerView)
EasyRecyclerView recyclerView;
TextViewExpandableAnimation tvExpand;
View headerView;
RelatedAdapter adapter;
@Override
protected int getLayout() {
return R.layout.fragment_video_intro;
}
@Override
protected void initView(LayoutInflater inflater) {
headerView = LayoutInflater.from(mContext).inflate(R.layout.intro_header, null);
tvExpand = ButterKnife.findById(headerView, R.id.tv_expand);
recyclerView.setAdapter(adapter = new RelatedAdapter(getContext()));
GridLayoutManager gridLayoutManager = new GridLayoutManager(mContext, 3);
gridLayoutManager.setSpanSizeLookup(adapter.obtainGridSpanSizeLookUp(3));
recyclerView.setLayoutManager(gridLayoutManager);
SpaceDecoration itemDecoration = new SpaceDecoration(ScreenUtil.dip2px(getContext(), 8));
itemDecoration.setPaddingEdgeSide(true);
itemDecoration.setPaddingStart(true);
itemDecoration.setPaddingHeaderFooter(false);
recyclerView.addItemDecoration(itemDecoration);
adapter.setOnItemClickListener(new RecyclerArrayAdapter.OnItemClickListener() {
@Override
public void onItemClick(int position) {
JumpUtil.go2VideoInfoActivity(getContext(), adapter.getItem(position));
getActivity().finish();
}
});
adapter.addHeader(new RecyclerArrayAdapter.ItemView() {
@Override
public View onCreateView(ViewGroup parent) {
return headerView;
}
@Override
public void onBindView(View headerView) {
}
});
}
@Override
public void onDestroyView() {
EventBus.getDefault().unregister(this);
super.onDestroyView();
}
@Subscriber(tag = VideoInfoPresenter.Refresh_Video_Info)
public void setData(VideoRes videoInfo) {
String dir = "导演:" + StringUtils.removeOtherCode(videoInfo.director);
String act = "主演:" + StringUtils.removeOtherCode(videoInfo.actors);
String des = dir + "\n" + act + "\n" + "简介:" + StringUtils.removeOtherCode(videoInfo.description);
tvExpand.setText(des);
if (videoInfo.list.size() > 1)
adapter.addAll(videoInfo.list.get(1).childList);
else
adapter.addAll(videoInfo.list.get(0).childList);
}
}