package com.wasu.cs.ui; import android.content.Context; import android.graphics.Rect; import android.os.Handler; import android.os.Message; import android.support.v4.view.ViewPager; import android.text.TextUtils; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.widget.FrameLayout; import com.facebook.drawee.view.SimpleDraweeView; import com.wasu.cs.mvp.IView.ILifeMvpView; import com.wasu.cs.mvp.model.AssetsDataModel; import com.wasu.cs.mvp.presenter.MainLifePagePresenter; import com.wasu.frescoimagefetchermodule.FrescoImageFetcherModule; import com.wasu.statistics.WasuStatistics; import com.wasu.widgets.focuswidget.FocusRelativeLayout; import java.util.List; import cn.com.wasu.main.AppUtil; import cn.com.wasu.main.IntentMap; import cn.com.wasu.main.R; /** * @Description: 首页生活屏 * @Author: Danxingxi * @CreateDate: 2016/11/30 10:20 */ public class MainLifePageView extends FrameLayout implements View.OnClickListener, ILifeMvpView { private final static String TAG = MainLifePageView.class.getSimpleName(); private SimpleDraweeView row11,row12,row13,row14,row15,row21,row22,row23,row24,row25,row26; private FocusRelativeLayout focusRelativeLayout; private String liveUrl; private Context mContext; private final static int LEFT_PAGE = 2; private final static int RIGHT_PAGE = 0; private final static String PageName = "生活"; private String url = "http://120.26.137.228/?s=2002&p=sjctBlockList&k=1&v=4&type=0&subjectId=69&indCatId=245546"; private ViewPager viewPager; private final static int MSG_RecycleImageView = 1; private final static int MSG_ShowImageView = 2; /**是否是第一次加载**/ private boolean isFirst = true; /**imageView是否已经回收**/ private boolean isRecycled = true; private MainLifePagePresenter mainLifePagePresenter; public MainLifePageView(Context context, String r, ViewPager pager) { super(context); if(!TextUtils.isEmpty(r)){ url = r; } if(pager!=null){ viewPager = pager; } init(context); } public MainLifePageView(Context context) { super(context); init(context); } public MainLifePageView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public MainLifePageView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(context); } private void init(Context context){ setDescendantFocusability(FOCUS_AFTER_DESCENDANTS); mContext = context; LayoutInflater.from(context).inflate(R.layout.main_life_pageview, this); initView(); mainLifePagePresenter = new MainLifePagePresenter(); mainLifePagePresenter.attachView(this); mainLifePagePresenter.getLifePageData(url); } private void initView(){ focusRelativeLayout = (FocusRelativeLayout) findViewById(R.id.focusRelativeLayout); row11 = (SimpleDraweeView) findViewById(R.id.row11); row12 = (SimpleDraweeView) findViewById(R.id.row12); row13 = (SimpleDraweeView) findViewById(R.id.row13); row14 = (SimpleDraweeView) findViewById(R.id.row14); row15 = (SimpleDraweeView) findViewById(R.id.row15); row21 = (SimpleDraweeView) findViewById(R.id.row21); row22 = (SimpleDraweeView) findViewById(R.id.row22); row23 = (SimpleDraweeView) findViewById(R.id.row23); row24 = (SimpleDraweeView) findViewById(R.id.row24); row25 = (SimpleDraweeView) findViewById(R.id.row25); row26 = (SimpleDraweeView) findViewById(R.id.row26); initListener(); } private void initListener(){ row11.setOnClickListener(this); focusRelativeLayout.setItemViewFocusSearchListener(new FocusRelativeLayout.ItemViewFocusSearchListener() { @Override public boolean onItemViewFocusSearch(FocusRelativeLayout parent, View itemView, int itemCount, int position, KeyEvent event) { int id = itemView.getId(); if(event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT && event.getAction() != KeyEvent.ACTION_UP){ if(R.id.row15 == id || id == R.id.row26){ focusRelativeLayout.shockAnim(itemView); return true; } } return false; } }); // focusRelativeLayout.setItemViewFocusChangeListener(new FocusRelativeLayout.onItemFocusChangeListener() { // @Override // public void onItemFocusChange(View itemView, int position, boolean hasFocus) { // View maskView = itemView.findViewById(R.id.maskView); // if (hasFocus) { // if(maskView != null){ // maskView.setVisibility(INVISIBLE); // // } // } else { // if(maskView != null){ // maskView.setVisibility(VISIBLE); // } // } // } // }); } @Override public void onClick(View v) { int id = v.getId(); switch (id){ case R.id.row11: AppUtil.playEnter = PageName+"_1_1"; WasuStatistics.getInstance().homeItemClick(viewPager.getCurrentItem(), PageName, "1_1", "", "生活屏直播坑口"); IntentMap.startIntent(mContext,null,"LiveActivity",liveUrl,null); break; } } @Override public void getLoopDataSuccess(AssetsDataModel mData) { if(mData!=null && !TextUtils.isEmpty(mData.getJsonUrl())) liveUrl = mData.getJsonUrl(); if(mData!=null && !TextUtils.isEmpty(mData.getPicUrl())) FrescoImageFetcherModule.getInstance().attachImage(mData.getPicUrl(), row11); } /** * 第一排数据获取成功 * @param mData */ @Override public void getDataSuccess1(final List mData) { if(mData!=null){ int count = mData.size(); for(int i=0;i mData) { if(mData == null) return; int count = mData.size(); for(int i=0;i