package com.llf.common.ui.news.detail;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.ActivityOptionsCompat;
import android.support.v7.widget.Toolbar;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import com.llf.basemodel.base.BaseActivity;
import com.llf.basemodel.recycleview.BaseViewHolder;
import com.llf.basemodel.utils.ImageLoaderUtils;
import com.llf.basemodel.utils.LogUtil;
import com.llf.common.R;
import com.llf.common.entity.NewsEntity;
import com.llf.common.ui.news.contract.NewsDetailContract;
import com.llf.common.ui.news.presenter.NewsDetailPresenter;
import org.sufficientlysecure.htmltextview.HtmlTextView;
import butterknife.Bind;
/**
* Created by llf on 2017/3/24.
* 新闻详情
*/
public class NewsDetailActivity extends BaseActivity implements NewsDetailContract.View {
public static void Launch(Activity mContext, BaseViewHolder holder, NewsEntity entity) {
Intent intent = new Intent(mContext, NewsDetailActivity.class);
intent.putExtra("news", entity);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(mContext,
holder.getView(R.id.ivNews), mContext.getString(R.string.transition_news_img));
ActivityCompat.startActivity(mContext, intent, options.toBundle());
}
@Bind(R.id.ivImage)
ImageView mIvImage;
@Bind(R.id.toolbar)
Toolbar mToolbar;
@Bind(R.id.collapsing_toolbar)
CollapsingToolbarLayout mCollapsingToolbar;
@Bind(R.id.htNewsContent)
HtmlTextView mHtNewsContent;
private NewsEntity mEntity;//详情数据
private NewsDetailContract.Presenter mPresenter;
@Override
protected int getLayoutId() {
return R.layout.activity_news_detail;
}
@Override
protected void initView() {
mPresenter = new NewsDetailPresenter(this);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//通过 NavigationDrawer 打开关闭 抽屉---返回
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
finishAfterTransition();
} else {
finish();
}
}
});
mEntity = (NewsEntity) getIntent().getSerializableExtra("news");
mCollapsingToolbar.setTitle(mEntity.getTitle());
ImageLoaderUtils.loadingImg(getApplicationContext(), mIvImage, mEntity.getImgsrc());
mPresenter.loadContent(mEntity.getDocid());
}
@Override
public void showLoading() {
startProgressDialog();
}
@Override
public void stopLoading() {
stopProgressDialog();
}
@Override
public void showErrorTip(String msg) {
showErrorHint(msg);
}
@Override
public void showContent(String s) {
try {
mHtNewsContent.setHtmlFromString(s, new HtmlTextView.LocalImageGetter());
} catch (Exception e) {
LogUtil.d("数据为空");
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
finishAfterTransition();
} else {
finish();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
}