package cn.shangyu.gdxzExpert.activity; import static cn.shangyu.gdxzExpert.base.BaseFragment.mActivity; import android.content.Intent; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import com.gyf.immersionbar.ImmersionBar; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.adapter.NewsAdapter; import cn.shangyu.gdxzExpert.base.BaseActivity; import cn.shangyu.gdxzExpert.bean.NewListBean; import cn.shangyu.gdxzExpert.http.OnCallBackFromNet; import cn.shangyu.gdxzExpert.utils.CommonUtil; import cn.shangyu.gdxzExpert.utils.GsonTools; import cn.shangyu.gdxzExpert.utils.LogUtil; import cn.shangyu.gdxzExpert.utils.StringUtil; import cn.shangyu.gdxzExpert.utils.UIUtils; import cn.shangyu.gdxzExpert.utils.Url; import cn.shangyu.gdxzExpert.view.RollViewPager; import cn.shangyu.gdxzExpert.widget.LoadingPage; /** * Created by WANGChengXin on 2020/3/10. */ public class GandanConsultActivity extends BaseActivity implements View.OnClickListener,OnCallBackFromNet{ private View view; private LinearLayout dotLl; private TextView topNewsTitle; private LinearLayout mViewPagerLay; private NewsAdapter newsAdapter; private NewListBean bean; private ArrayList titleList; private ArrayList urlList; private ArrayList dotList; private RollViewPager mViewPager; private String newsuuid; private String agreenum; private String readnum; @Override public void setTitle() { top_title.setText("肝胆新闻"); } @Override public View onCreateSuccessedView() { ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init(); view = UIUtils.inflate(R.layout.activity_gandanconsul); view.findViewById(R.id.rl_hudongquan).setOnClickListener(this); view.findViewById(R.id.rl_keyan).setOnClickListener(this); view.findViewById(R.id.rl_casesuions).setOnClickListener(this); view.findViewById(R.id.rl_video).setOnClickListener(this); view.findViewById(R.id.rl_lczhaomu).setOnClickListener(this); view.findViewById(R.id.rl_huodong).setOnClickListener(this); dotLl = (LinearLayout) view.findViewById(R.id.dots_ll); topNewsTitle = (TextView) view.findViewById(R.id.top_news_title); mViewPagerLay = (LinearLayout) view.findViewById(R.id.top_news_viewpager); newsAdapter = new NewsAdapter(this); // 根据手机尺寸设置顶部轮播图的宽高 int width = getResources().getDisplayMetrics().widthPixels; // int height = CommonUtil.dip2px(mActivity, 180); int height = width * 320 / 640; if (width < 720) { height = width * 7 / 16 - 10; // height = width/2; LogUtil.i("width=" + width + "height=" + height); } ViewGroup.LayoutParams ivLp = mViewPagerLay .getLayoutParams(); ivLp.width = width; ivLp.height = height; mViewPagerLay.setLayoutParams(ivLp); getNewsRollList(Url.getnewsRollNew, true, true, 0); return view; } //加载顶部新闻 private void getNewsRollList(final String loadUrl, final boolean isrollRefresh, final boolean isToprollNews, final int page) { Map param = new HashMap<>(); param.put("page", String.valueOf(page)); sendJsonPostParamtoNetSignMD5(loadUrl, param, 1, this); } @Override public LoadingPage.ResultState onLoad() { return LoadingPage.ResultState.STATE_SUCCESSED; } @Override protected void processClick(View v) { // AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else int id = v.getId(); if (id == R.id.rl_huodong) {//肝胆活动 startActivity(new Intent(ct, GanDanEventActivity.class)); } else if (id == R.id.rl_hudongquan) {//互动圈 startActivity(new Intent(ct, GanDanHouseActivity.class)); } else if (id == R.id.rl_keyan) {//科研项目 startActivity(new Intent(ct, MyScientificResearchActivity.class)); } else if (id == R.id.rl_casesuions) {//临床招募 startActivity(new Intent(ct, LinChuangActivity.class)); } else if (id == R.id.rl_video) {//肝胆新闻 startActivity(new Intent(ct, NewsActivity.class)); } else if (id == R.id.rl_lczhaomu) {//肝胆会议 startActivity(new Intent(ct, GandanMeetingActivity.class)); } } @Override public void onCallbackFromThread(String resultJson) { } @Override public void onCallBackFromThread(String resultJson, int resultCode) { bean = GsonTools.fromGsonToBean(resultJson, NewListBean.class);// 测试的NewsListBean if (!StringUtil.isOneToCode(bean.code)) { if (bean.data != null && bean.data.size() > 0) { titleList = new ArrayList(); urlList = new ArrayList(); for (int i = 0; i < bean.data.size(); i++) { titleList.add(bean.data.get(i).title);// 标题 if (!TextUtils.isEmpty(bean.data.get(i).headImg)) { urlList.add(Url.urlHtml + bean.data.get(i).headImg);// //封面图片 } else { urlList.add("");// } } // 轮播图的点 initDot(bean.data.size()); mViewPager = new RollViewPager(mActivity, dotList, R.drawable.dot_focus, R.drawable.dot_normal, // 轮播图点击事件 new RollViewPager.OnPagerClickCallback() { @Override public void onPagerClick(int position) { Intent intent = new Intent(mActivity, NewsDetailActivity.class); String url = Url.urlHtml + bean.data.get(position).path; String title = bean.data.get(position).title; String summary = bean.data.get(position).summary; String headImg = bean.data.get(position).headImg; newsuuid = bean.data.get(position).uuid; agreenum = bean.data.get(position).agreenum; readnum = bean.data.get(position).readnum; intent.putExtra("url", url); // intent.putExtra("title", title); intent.putExtra("newssuuuid", newsuuid); intent.putExtra("newssagreenum", agreenum); intent.putExtra("newssreadnum", readnum); intent.putExtra("title", "新闻详情"); intent.putExtra("newsTitle", title); intent.putExtra("summary", summary); intent.putExtra("imageUrl", Url.urlHtml + headImg); intent.putExtra("flag", 4); mActivity.startActivity(intent); } }); mViewPager.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); // top图片地址 mViewPager.setUriList(urlList); // top标题 mViewPager.setTitle(topNewsTitle, titleList); // 开始滚动 mViewPager.startRoll(); // 加载到布局 mViewPagerLay.removeAllViews(); mViewPagerLay.addView(mViewPager); } } } /** * 实例化轮播图点 initDot * * @param size * void */ private void initDot(int size) { dotList = new ArrayList(); dotLl.removeAllViews(); for (int i = 0; i < size; i++) { LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( CommonUtil.dip2px(mActivity, 6), CommonUtil.dip2px( mActivity, 6)); params.setMargins(5, 0, 5, 0); View m = new View(mActivity); if (i == 0) { m.setBackgroundResource(R.drawable.dot_focus); } else { m.setBackgroundResource(R.drawable.dot_normal); } m.setLayoutParams(params); dotLl.addView(m); dotList.add(m); } } }