充电桩app代码

PublishTopicActivity.java 11KB

    package com.electric.chargingpile.activity; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.support.annotation.Nullable; import android.text.Editable; import android.text.Html; import android.text.TextUtils; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.load.DataSource; import com.bumptech.glide.load.engine.GlideException; import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.target.Target; import com.electric.chargingpile.R; import com.electric.chargingpile.data.TalkRecommendBean; import com.electric.chargingpile.util.BarColorUtil; import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.compress.Luban; import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.umeng.analytics.MobclickAgent; import java.io.File; import java.util.List; public class PublishTopicActivity extends Activity implements OnClickListener { Context mContext; private ImageView mPublishtopicBack; private TextView mPublishtopicPublish; private EditText mPublishtopicCon; private ImageView mPublishtopicGv; private TextView mPublishtopicChooseTopic; private TextView mPublishtopicChoosePreview; private TextView mPublishtopicWordNum; private ImageView mPublishTopicDe; private RelativeLayout mItemVideoLl; private ImageView mItemVideo; private View mItemVideoDelete; public static final String CACHE_DIR = Environment.getExternalStorageDirectory().getAbsolutePath() + "/cdz"; public static final String IMAGE_CACHE = CACHE_DIR + "/cache/image/"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_publishtopic); mContext = this; BarColorUtil.initStatusBarColor(PublishTopicActivity.this); initView(); } private void initView() { mPublishtopicBack = (ImageView) findViewById(R.id.publishtopic_back); mPublishtopicPublish = (TextView) findViewById(R.id.publishtopic_publish); mPublishtopicCon = (EditText) findViewById(R.id.publishtopic_con); mPublishtopicGv = (ImageView) findViewById(R.id.item_choose_video); mPublishtopicChooseTopic = (TextView) findViewById(R.id.publishtopic_choose_topic); mPublishtopicChoosePreview = (TextView) findViewById(R.id.publishtopic_choose_preview); mPublishtopicWordNum = (TextView) findViewById(R.id.publishtopic_word_num); mPublishTopicDe = (ImageView) findViewById(R.id.publishtopic_choose_topic_de); mItemVideoLl = (RelativeLayout) findViewById(R.id.item_video_ll); mItemVideo = (ImageView) findViewById(R.id.item_video); mItemVideoDelete = (View) findViewById(R.id.item_video_delete); mPublishtopicCon.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void afterTextChanged(Editable editable) { int length = editable.length(); if (length > 500) { mPublishtopicWordNum.setText(Html.fromHtml("<font color=\"#FF4E4E\">" + length + "</font>/500")); } else { mPublishtopicWordNum.setText(length + "/500"); } } }); mPublishtopicBack.setOnClickListener(this); mPublishtopicPublish.setOnClickListener(this); mPublishtopicChoosePreview.setOnClickListener(this); mPublishtopicChooseTopic.setOnClickListener(this); mPublishTopicDe.setOnClickListener(this); mItemVideoDelete.setOnClickListener(this); mPublishtopicGv.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.publishtopic_back: finish(); break; case R.id.publishtopic_publish: break; case R.id.publishtopic_choose_topic: startActivityForResult(new Intent(this, TopicActivity.class), reqTopic); break; case R.id.publishtopic_choose_preview: break; case R.id.publishtopic_choose_topic_de: mPublishtopicChooseTopic.setText("# 选择话题"); mPublishTopicDe.setVisibility(View.GONE); talkRecommendBean = null; break; case R.id.item_choose_video: PictureSelector.create(this) .openGallery(PictureMimeType.ofVideo())// 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .theme(R.style.picture_default_style)// 主题样式设置 具体参考 libray中values/styles .maxSelectNum(9)// 最大图片选择数量 .minSelectNum(1)// 最小选择数量 .imageSpanCount(4)// 每行显示个数 .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE : PictureConfig.SINGLE .previewImage(true)// 是否可预览图片 .previewVideo(true)// 是否可预览视频 .enablePreviewAudio(false)// 是否预览音频 .isCamera(true)// 是否显示拍照按钮 .isZoomAnim(true)// 图片列表点击 缩放效果 默认true .setOutputCameraPath(IMAGE_CACHE)// 自定义拍照保存路径 .compress(true)// 是否压缩 .compressMode(PictureConfig.LUBAN_COMPRESS_MODE)//系统自带 or 鲁班压缩 PictureConfig.SYSTEM_COMPRESS_MODE or LUBAN_COMPRESS_MODE .glideOverride(160, 160)// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度 .isGif(false)// 是否显示gif图片 .openClickSound(false)// 是否开启点击声音 .compressGrade(Luban.CUSTOM_GEAR) .compressMaxKB(1024)//压缩最大值kb compressGrade()为Luban.CUSTOM_GEAR有效 .minimumCompressSize(500) //add by tanhaiqin, 图片大小 <= 500KB(数字可变) 不需要压缩 .videoSecond(5 * 60)//显示多少秒以内的视频 .recordVideoSecond(15)//录制视频秒数 默认60秒 .forResult(PictureConfig.CHOOSE_REQUEST); break; case R.id.item_video_delete: mItemVideoLl.setVisibility(View.GONE); mPublishtopicGv.setVisibility(View.VISIBLE); break; default: break; } } final int reqTopic = -100; TalkRecommendBean talkRecommendBean = null; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == -100 && resultCode == -100) { talkRecommendBean = (TalkRecommendBean) data.getSerializableExtra("topic"); if (talkRecommendBean != null) { mPublishtopicChooseTopic.setText("# " + talkRecommendBean.name); mPublishTopicDe.setVisibility(View.VISIBLE); } } else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) { List<LocalMedia> selectList = PictureSelector.obtainMultipleResult(data); if (selectList != null && selectList.size() > 0) { LocalMedia media = selectList.get(0); if (TextUtils.isEmpty(media.getPath())) { return; } if (!fileIsExists(media.getPath())) { Log.e("yopic", "文件可能不存在了~"); return; } Glide.with(this).load(Uri.fromFile(new File(media.getPath()))) .listener(new RequestListener<Drawable>() { @Override public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) { return false; } @Override public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) { return false; } }) .apply(new RequestOptions().centerCrop()) .into(mItemVideo); mItemVideoLl.setVisibility(View.VISIBLE); mPublishtopicGv.setVisibility(View.GONE); Log.e("yopic", "TEST===> video path = " + media.getPath() + ", compressPath = " + media.getCompressPath() + ", height = " + media.getHeight() + ", width = " + media.getWidth()); } } } public static boolean fileIsExists(String strFile) { if (TextUtils.isEmpty(strFile)) { return false; } try { File f = new File(strFile); if (!f.exists()) { return false; } } catch (Exception e) { return false; } return true; } @Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this); } @Override protected void onPause() { super.onPause(); MobclickAgent.onPause(this); } }