package com.xiaweizi.qnews.activity;
import android.os.Build;
import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.transition.Explode;
import android.transition.Fade;
import android.transition.Slide;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import com.blankj.utilcode.utils.SPUtils;
import com.blankj.utilcode.utils.ToastUtils;
import com.bumptech.glide.Glide;
import com.xiaweizi.qnews.R;
import com.xiaweizi.qnews.bean.TodayOfHistoryDetailBean;
import com.xiaweizi.qnews.commons.Constants;
import com.xiaweizi.qnews.commons.LogUtils;
import com.xiaweizi.qnews.net.QClitent;
import com.xiaweizi.qnews.net.QNewsService;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
/**
* 历史上的今天详情界面
*/
public class TodayDetailActivity extends AppCompatActivity {
@BindView (R.id.tb_today)
Toolbar tbToday;
@BindView (R.id.collapsing_toolbar_today)
CollapsingToolbarLayout collapsingToolbarToday;
@BindView (R.id.appBar)
AppBarLayout appBar;
@BindView (R.id.tv_today_content)
TextView tvTodayContent;
@BindView (R.id.vp_today)
ViewPager vpToday;
@BindView (R.id.pt_below)
PagerTitleStrip ptBelow;
private List<TodayOfHistoryDetailBean.ResultBean.PicUrlBean> picUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SPUtils util = new SPUtils("theme_id");
int theme_id = util.getInt("theme_id", R.style.AppTheme);
setTheme(theme_id);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
/*************************** Activity 转场动画 ***************************/
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
switch ((int) (Math.random() * 3)) {
case 0:
getWindow().setEnterTransition(new Explode());
break;
case 1:
getWindow().setEnterTransition(new Slide());
break;
case 2:
getWindow().setEnterTransition(new Fade());
break;
}
}
setContentView(R.layout.activity_today_detail);
ButterKnife.bind(this);
String e_id = getIntent().getStringExtra("e_id");
//添加左侧后退按钮
setSupportActionBar(tbToday);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ptBelow.setGravity(Gravity.BOTTOM);
QClitent.getInstance().create(QNewsService.class, Constants.BASE_JUHE_URL)
.getTodayOfHistoryDetailData(e_id).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<TodayOfHistoryDetailBean>() {
@Override
public void accept(TodayOfHistoryDetailBean todayOfHistoryDetailBean)
throws Exception {
// 成功获取到数据
if (todayOfHistoryDetailBean.getError_code() != 0) {
tbToday.setTitle("无结果");
tvTodayContent.setText("无结果");
return;
}
TodayOfHistoryDetailBean.ResultBean resultBean = todayOfHistoryDetailBean
.getResult().get(0);
String content = resultBean.getContent();
String title = resultBean.getTitle();
picUrl = resultBean.getPicUrl();
collapsingToolbarToday.setTitle(title);
tvTodayContent.setText(content);
vpToday.setAdapter(new MyAdapter(picUrl));
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
// 获取数据失败
ToastUtils.showShortToast("获取数据失败");
}
});
// QNewsClient.getInstance().GetTodayOfHistoryDetailData(e_id, new QNewsCallback<TodayOfHistoryDetailBean>() {
//
// @Override
// public void onSuccess(TodayOfHistoryDetailBean response, int id) {
//
// if (response.getError_code() != 0) {
// tbToday.setTitle("无结果");
// tvTodayContent.setText("无结果");
// return;
// }
// TodayOfHistoryDetailBean.ResultBean resultBean = response.getResult().get(0);
// String content = resultBean.getContent();
// String title = resultBean.getTitle();
// picUrl = resultBean.getPicUrl();
//
// collapsingToolbarToday.setTitle(title);
// tvTodayContent.setText(content);
//
// vpToday.setAdapter(new MyAdapter(picUrl));
//
// }
//
// @Override
// public void onError(Exception e, int id) {
//
// }
// });
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
}
return super.onOptionsItemSelected(item);
}
private class MyAdapter extends PagerAdapter {
private List<TodayOfHistoryDetailBean.ResultBean.PicUrlBean> picUrl;
public MyAdapter(List<TodayOfHistoryDetailBean.ResultBean.PicUrlBean> picUrl) {
this.picUrl = picUrl;
}
@Override
public int getCount() {
return picUrl.size();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(TodayDetailActivity.this);
LogUtils.i("url:" + picUrl.get(position).getUrl());
Glide.with(TodayDetailActivity.this)
.load("http://images.juheapi.com/history/2021_1.jpg").crossFade().into(imageView);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public CharSequence getPageTitle(int position) {
return picUrl.get(position).getPic_title();
}
}
}