223 lines
9.1 KiB
Java
223 lines
9.1 KiB
Java
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<String> titleList;
|
|
private ArrayList<String> urlList;
|
|
private ArrayList<View> 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<String, String> 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<String>();
|
|
urlList = new ArrayList<String>();
|
|
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<View>();
|
|
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);
|
|
}
|
|
}
|
|
|
|
}
|