字体替换

This commit is contained in:
itgaojian163 2020-07-20 15:51:07 +08:00
parent daa66ce621
commit 098ce9ceb2
43 changed files with 375 additions and 224 deletions

View File

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":3,"versionName":"1.0.2","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release","dirName":""},"path":"app-release.apk","properties":{}}]
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":4,"versionName":"1.0.3","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release","dirName":""},"path":"app-release.apk","properties":{}}]

View File

@ -54,8 +54,8 @@ ext {
gCompileSdkVersion = 29
gMinSdkVersion = 16
gTargetSdkVersion = 29
gVersionCode = 3
gVersionName = '1.0.2'
gVersionCode = 4
gVersionName = '1.0.3'
gBuildToolsVersion = "29.0.2"
// gVersionCode=26
// gVersionName='1.3.0'
@ -115,4 +115,6 @@ ext {
gSmartRefreshLayoutVersion = '1.1.2'
leonidslibVersion = '1.3.2'
ijkPlayer = '0.8.8'
pdfVersion='2.8.2'
downloadVersion='1.7.7'
}

View File

@ -62,7 +62,7 @@ dependencies {
annotationProcessor "com.github.bumptech.glide:compiler:${rootProject.ext.supportGlide}"
//butterknife
api "com.jakewharton:butterknife:$rootProject.ext.gButterKnifeVersion"
////
////
implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
implementation "com.contrarywind:wheelview:${rootProject.ext.wheelVersion}"
//recyclerview
@ -71,7 +71,7 @@ dependencies {
implementation "com.nightonke:boommenu:$rootProject.ext.gBoomMenu"
//
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
// fragment快速实现
// fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}

Binary file not shown.

View File

@ -44,7 +44,8 @@ public class PathConfig {
public static final String USER_TYPE_X = "25affe67-134c-4a32-ba41-64b0cfedc782";
public static final String APP_VERSION_ID = "f5935aa1-4405-4cbe-85bc-d7c1a8ddc9c4";
public static final String NEWS_ID = "f497904b-7727-4832-891c-604c36ae4167";
public static final String NEWS_ID = "f497904b-7727-4832-891c-604c36ae4167";//文化动态ID
public static final String NEWS_SHOW_ID = "f1d5d313-f728-4dda-9843-1116d97e17b0";//展览展示ID
public static final String NEWS_BANNER_ID = "eab0ca3c-d35d-4c02-9397-ace2bdd10fc1";
public static final String PLACE_TYPE_ID = "df8b758c-f6d8-465a-9aa8-c451fde47076";//场馆类型字典
@ -81,6 +82,7 @@ public class PathConfig {
public static final String PATH_MODULE_MAIN_FRAGMENT_MAIN = "/modulemain/fragment/main";//首页fragment
public static final String PATH_MODULE_MAIN_NEWS_LIST = "/modulemain/activity/newslist";
public static final String PATH_MODULE_MAIN_NEWS_PDF = "/modulemain/activity/newspdf";//新闻PDF页面
public static final String PATH_MODULE_MAIN_REGISTER = "/modulemain/activity/register";//注册

View File

@ -0,0 +1,17 @@
package com.sucstepsoft.cm_utils.core.retrofit_net.newdownload.listener;
/**
* 作者: adam
* 日期: 2020/7/16 - 2:49 PM
* 邮箱: itgaojian@163.com
* 描述:
*/
public interface DownloadListener {
void onStart();
void onProgress(int currentLength);
void onFinish(String localPath);
void onFailure();
}

View File

@ -41,11 +41,11 @@ public class BaseBannerImageAdapter extends BannerAdapter<BaseImageBean, BannerH
RoundedCornersTransform roundedCornersTransform = new RoundedCornersTransform(holder.itemView.getContext(), ConvertUtils.dp2px(2));
roundedCornersTransform.setNeedCorner(false, false, false, false);
RequestOptions options = new RequestOptions()
.override(500, 500)
.override(500, 600)
.error(R.drawable.ic_img_default_banner)
.placeholder(R.drawable.ic_img_default_banner)
.transform(roundedCornersTransform)
.diskCacheStrategy(DiskCacheStrategy.NONE);
.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
ImageView image = (ImageView) holder.itemView;
Glide.with(holder.itemView.getContext())
.asBitmap()

View File

@ -1,10 +1,14 @@
package com.sucstepsoft.cm_utils.core.widget.views;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.widget.TextView;
import com.sucstepsoft.cm_utils.R;
import androidx.annotation.Nullable;
/**
@ -14,24 +18,26 @@ import androidx.annotation.Nullable;
* 描述:
*/
public class TypeFaceTextView extends androidx.appcompat.widget.AppCompatTextView {
private Typeface mTypeface;
public TypeFaceTextView(Context context) {
super(context);
initTypeFace();
this(context, null);
}
public TypeFaceTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
initTypeFace();
this(context, attrs, 0);
}
public TypeFaceTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initTypeFace();
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.TypeFaceTextView, defStyleAttr, 0);
int type = a.getInteger(R.styleable.TypeFaceTextView_text_type_cus, 1);
if (type == 1) {
mTypeface = Typeface.createFromAsset(getContext().getAssets(), "fonts/zhangti.TTF");
} else {
mTypeface = Typeface.createFromAsset(getContext().getAssets(), "fonts/STSONG.TTF");
}
private void initTypeFace() {
Typeface typeface = Typeface.createFromAsset(getContext().getAssets(), "fonts/zhangti.TTF");
setTypeface(typeface);
setTypeface(mTypeface);
}
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/trans_black" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp" />
</shape>

View File

@ -14,19 +14,24 @@
<attr name="diffuse_maxWidth" format="integer" />
<!--扩散速度,值越大越快-->
<attr name="diffuse_speed" format="integer" />
<attr name="iconSize" format="dimension"/>
<attr name="iconMargin" format="dimension"/>
<attr name="iconSrc" format="reference"/>
<attr name="iconLeft" format="reference"/>
<attr name="iconRight" format="reference"/>
<attr name="duration_max" format="integer"/>
<attr name="iconSize" format="dimension" />
<attr name="iconMargin" format="dimension" />
<attr name="iconSrc" format="reference" />
<attr name="iconLeft" format="reference" />
<attr name="iconRight" format="reference" />
<attr name="duration_max" format="integer" />
<attr name="text_type_cus" format="integer" />
<declare-styleable name="JCameraView">
<attr name="iconSize"/>
<attr name="iconMargin"/>
<attr name="iconSrc"/>
<attr name="iconLeft"/>
<attr name="iconRight"/>
<attr name="duration_max"/>
<attr name="iconSize" />
<attr name="iconMargin" />
<attr name="iconSrc" />
<attr name="iconLeft" />
<attr name="iconRight" />
<attr name="duration_max" />
</declare-styleable>
<!--属性集合-->
<declare-styleable name="TypeFaceTextView">
<attr name="text_type_cus" />
</declare-styleable>
<declare-styleable name="DiffuseView">
<attr name="diffuse_color" />

View File

@ -109,6 +109,8 @@ public class ActivityDetailActivity extends BaseActivity {
private String mId;
private ActivityDetail mMDetalBean;
private boolean isSignUp = false;
private String mState;
private String mApplyId;
@Override
protected int setLayoutId() {
@ -123,6 +125,13 @@ public class ActivityDetailActivity extends BaseActivity {
ImmersionBar.with(this).init();
setStatusTr("详情");
mId = getIntent().getStringExtra("id");
mState = getIntent().getStringExtra("state");
if (TextUtils.isEmpty(mState)) {
isSignUp = false;
} else {
mApplyId = getIntent().getStringExtra("applyId");
isSignUp = true;
}
mBtnSignUp.setOnClickListener(v -> {
if (!TextUtils.isEmpty(UserLgUtils.getToken())) {
if (isSignUp) {
@ -168,7 +177,7 @@ public class ActivityDetailActivity extends BaseActivity {
pDialog.show();
RetrofitManager.getInstance()
.create(ApiActivity.class)
.doCancelSignUp(mId, UserLgUtils.getToken())
.doCancelSignUp(mId, mApplyId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseSuccessBean>() {
@ -382,7 +391,7 @@ public class ActivityDetailActivity extends BaseActivity {
mLlBtnContent.setVisibility(View.VISIBLE);
if ("3".equals(bean.getActivityState())) {
mLlBtnContent.setVisibility(View.VISIBLE);
if (TextUtils.isEmpty(bean.getIsEnroll())) {
if (TextUtils.isEmpty(mState)) {
mBtnSignUp.setText("报名");
isSignUp = false;
} else {

View File

@ -86,6 +86,8 @@ public class MineActivityListActivity extends BaseActivity {
ARouter.getInstance()
.build(PathConfig.PATH_MODULEACTIVITY_ACTIVITY_DETAIL)
.withString("id", rowsBean.getActivityLibraryId())
.withString("state", "signUp")
.withString("applyId", rowsBean.getActivityUserApplyId())
.navigation(mActivity, 123);
}

View File

@ -101,7 +101,15 @@ public class ActivityListBeans {
private String activityVenuesDictionaryName;
private String activityVideo;
private String activityViewNum;
private String activityUserApplyId;
public String getActivityUserApplyId() {
return activityUserApplyId;
}
public void setActivityUserApplyId(String activityUserApplyId) {
this.activityUserApplyId = activityUserApplyId;
}
public String getActivityViewNum() {
return activityViewNum;

View File

@ -95,8 +95,8 @@ public interface ApiActivity {
* GET /app/activityuserapply/cancelapply/{activityid}
*/
@Headers({"base_url_name:activity", "Content-Type:application/json", "Accept:application/json"})
@GET("app/activityuserapply/cancelapply/{activityid}")
Observable<BaseSuccessBean> doCancelSignUp(@Path("activityid") String id, @Header("token") String token);
@GET("app/activityuserapply/cancelapply/{activityid}/{activityApplyUserId}")
Observable<BaseSuccessBean> doCancelSignUp(@Path("activityid") String id, @Path("activityApplyUserId") String aId, @Header("token") String token);
/**
* 获取验证码

View File

@ -231,6 +231,7 @@
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:inputType="number"
android:background="@null"
android:hint="请输入验证码"
android:textSize="13sp" />

View File

@ -17,6 +17,7 @@ import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.tengshisoft.modulecultural.R;
import com.tengshisoft.modulecultural.R2;
import com.tengshisoft.modulecultural.adapter.LegacyMainAdapter;
@ -74,7 +75,7 @@ public class CulturalLegacyActivity extends BaseActivity {
mTvBaseTitle.setText("非物质文化遗产库");
refreshView(STATE_LOAD_LOADING);
mAdapter = new LegacyMainAdapter(mActivity, mDatas);
mRlvLegacy.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.HORIZONTAL, false));
mRlvLegacy.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
mSrlLegacy.setOnRefreshListener(refreshLayout -> refreshData());
mSrlLegacy.setOnLoadMoreListener(refreshLayout -> loadMoreData());
mRlvLegacy.setAdapter(mAdapter);
@ -127,10 +128,11 @@ public class CulturalLegacyActivity extends BaseActivity {
@Override
public void onNext(LegacyListBean legacyListBean) {
LogUtils.e(legacyListBean.getRows().size());
if (page == 1) {
if (legacyListBean != null && legacyListBean.getRows().size() > 0) {
mTotalPage = legacyListBean.getTotal();
mDatas = legacyListBean.getRows();
mDatas = new ArrayList<>(legacyListBean.getRows());
mAdapter.setData(mDatas);
setState(STATE_SUCCESS);
} else {

View File

@ -65,7 +65,7 @@ public class CulturalLiveActivity extends BaseActivity {
public void initData() {
super.initData();
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("直播");
mTvBaseTitle.setText("直播点播");
refreshView(STATE_LOAD_LOADING);
mRlvLives.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
mAdapter = new ShareLiveAdapter(mActivity, mDatas);

View File

@ -2,6 +2,7 @@ package com.tengshisoft.modulecultural.activitys;
import android.graphics.Color;
import android.net.http.SslError;
import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.SslErrorHandler;
@ -18,20 +19,25 @@ import com.bumptech.glide.request.RequestOptions;
import com.gyf.immersionbar.ImmersionBar;
import com.sothree.slidinguppanel.SlidingUpPanelLayout;
import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.beans.BaseImageBean;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.base.BaseBannerImageAdapter;
import com.sucstepsoft.cm_utils.core.widget.base.RoundedCornersTransform;
import com.sucstepsoft.cm_utils.core.widget.views.ItemSplitDivider;
import com.sucstepsoft.cm_utils.utils.ConvertUtils;
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.tengshisoft.modulecultural.R;
import com.tengshisoft.modulecultural.R2;
import com.tengshisoft.modulecultural.adapter.LegacyPersonAdapter;
import com.tengshisoft.modulecultural.bean.LegacyDetailBean;
import com.tengshisoft.modulecultural.bean.LegacyPersonBean;
import com.tengshisoft.modulecultural.net.CulturalApi;
import com.youth.banner.Banner;
import java.util.ArrayList;
import java.util.List;
import androidx.core.widget.NestedScrollView;
@ -74,8 +80,8 @@ public class LegacyDetailActivity extends BaseActivity {
LinearLayout mLlContent;
@BindView(R2.id.tv_person_hint)
TextView mTvPersonHint;
@BindView(R2.id.iv_cover)
ImageView mIvCover;
@BindView(R2.id.banner_cover)
Banner mIvCover;
@BindView(R2.id.tv_title)
TextView mTvTitle;
private Unbinder mBind;
@ -194,11 +200,26 @@ public class LegacyDetailActivity extends BaseActivity {
* @param bean
*/
private void setDataToView(LegacyDetailBean bean) {
Glide.with(mActivity)
.asBitmap()
.load(BaseUrlApi.BASE_LEGACY_IMG_URL + bean.getLibraryCover())
.apply(mOptions)
.into(mIvCover);
if (!TextUtils.isEmpty(bean.getLibraryCover())) {
String[] split = bean.getLibraryCover().split(",");
List<BaseImageBean> beans = new ArrayList<>();
for (int i = 0; i < split.length; i++) {
BaseImageBean bean1 = new BaseImageBean();
bean1.setImgUrl(BaseUrlApi.BASE_LEGACY_IMG_URL + split[i]);
beans.add(bean1);
}
BaseBannerImageAdapter adapter = new BaseBannerImageAdapter(beans);
mIvCover.setAdapter(adapter);
adapter.notifyDataSetChanged();
mIvCover.setDelayTime(3000);
mIvCover.start();
// Glide.with(mActivity)
// .asBitmap()
// .load(BaseUrlApi.BASE_LEGACY_IMG_URL + bean.getLibraryCover())
// .apply(mOptions)
// .into(mIvCover);
}
mTvTitle.setText(bean.getLibraryTitle());
mTvSNum.setText(bean.getLibraryNumber());
mTvIdNum.setText(bean.getLibrarySource());

View File

@ -37,7 +37,7 @@ public class LegacyMainAdapter extends BaseRecyclerAdapter<LegacyListBean.RowsBe
.error(R.drawable.ic_img_default)
.placeholder(R.drawable.ic_img_default)
.transform(roundedCornersTransform)
.diskCacheStrategy(DiskCacheStrategy.NONE);
.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
}
@Override
@ -48,9 +48,10 @@ public class LegacyMainAdapter extends BaseRecyclerAdapter<LegacyListBean.RowsBe
@Override
public void bindHolder(LegacyMainHolder legacyMainHolder, int i) {
String[] split = mData.get(i).getLibraryCover().split(",");
Glide.with(mContext)
.asBitmap()
.load(BaseUrlApi.BASE_LEGACY_IMG_URL + mData.get(i).getLibraryCover())
.load(BaseUrlApi.BASE_LEGACY_IMG_URL + split[0])
.apply(mOptions)
.into(legacyMainHolder.mIvCover);
legacyMainHolder.mTvName.setText(mData.get(i).getLibraryTitle());

View File

@ -84,7 +84,7 @@ public interface CulturalApi {
*/
@Headers({"base_url_name:legacy", "Content-Type:application/json", "Accept:application/json"})
@GET("app/intangiblelibraryperson/listintangiblelibrarypersonrelease")
Observable<List<LegacyPersonBean>> getLegacyPersonById(@Query("id") String id);
Observable<List<LegacyPersonBean>> getLegacyPersonById(@Query("intangibleLibraryId") String id);
@Headers({"base_url_name:legacy", "Content-Type:application/json", "Accept:application/json"})
@GET("app/intangiblelibraryperson/listintangiblelibrarypersonrelease")

View File

@ -7,7 +7,7 @@
android:orientation="vertical"
android:theme="@style/Theme.AppCompat">
<!-- app:tabGravity="fill"-->
<!-- app:tabGravity="fill"-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -10,12 +10,15 @@
app:umanoPanelHeight="150dp"
app:umanoShadowHeight="4dp">
<ImageView
android:id="@+id/iv_cover"
<!-- <ImageView-->
<!-- android:id="@+id/iv_cover"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:scaleType="fitXY" />-->
<com.youth.banner.Banner
android:id="@+id/banner_cover"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY" />
android:layout_height="match_parent"/>
<!-- <androidx.core.widget.NestedScrollView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content">-->

View File

@ -85,6 +85,10 @@ dependencies {
implementation "com.plattysoft.leonids:LeonidsLib:${rootProject.ext.leonidslibVersion}"
//banner
implementation "com.youth.banner:banner:${rootProject.ext.bannerVersion}"
// 1.7.7
implementation "com.liulishuo.filedownloader:library:${rootProject.ext.downloadVersion}"
// PDF阅读器1 2.8.2
implementation "com.github.barteksc:android-pdf-viewer:${rootProject.ext.pdfVersion}"
// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.3'
//
implementation 'com.ethanhua:skeleton:1.1.2'

View File

@ -23,14 +23,13 @@
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<!-- Required -->
<uses-permission android:name="android.permission.GET_TASKS" /> <!-- Required -->
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<!-- Optional. Required for location feature -->
<application
android:maxAspectRatio="2.4"
android:resizeableActivity="true">
<activity android:name=".cultural.activitys.news.NewsPdfActivity"></activity>
<activity
android:name=".cultural.activitys.base.ForgatPwdActivity"
android:launchMode="singleTop"
@ -109,13 +108,6 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- <meta-data-->
<!-- android:name="JPUSH_CHANNEL"-->
<!-- android:value="developer-default" /> &lt;!&ndash; Required. AppKey copied from Portal &ndash;&gt;-->
<!-- <meta-data-->
<!-- android:name="JPUSH_APPKEY"-->
<!-- android:value="9575fdffe323b4febdd385dd" />-->
</application>
</manifest>

View File

@ -207,12 +207,13 @@ public class NewsDetailActivity extends BaseActivity {
}
mIvShare.setOnClickListener(v -> showShareDialog());
WebSettings settings = mWvContent.getSettings();
// settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
settings.setAppCacheEnabled(true);
// settings.setJavaScriptCanOpenWindowsAutomatically(true);
// settings.setBuiltInZoomControls(false);//显示放大缩小按钮(不支持已经适配好移动端的页面)
settings.setJavaScriptEnabled(true);//启用JS
// settings.setUseWideViewPort(true); //双击缩放
// settings.setBlockNetworkImage(true);
settings.setBlockNetworkImage(true);//阻塞页面图片加载
settings.setDomStorageEnabled(true);
// settings.setLoadsImagesAutomatically(true);
// settings.setAllowFileAccess(true);
@ -236,6 +237,7 @@ public class NewsDetailActivity extends BaseActivity {
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
mContentSkeleton.hide();
view.getSettings().setBlockNetworkImage(false);//开启页面图片加载
runOnUiThread(() -> mWvContent.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)));
}
@ -258,13 +260,6 @@ public class NewsDetailActivity extends BaseActivity {
return super.onJsAlert(view, url, message, result);
}
});
// mWvContent.setOnTouchListener((v, event) -> {
// if (event.getAction() == MotionEvent.ACTION_UP)
// mNslContent.requestDisallowInterceptTouchEvent(false);
// else
// mNslContent.requestDisallowInterceptTouchEvent(true);
// return false;
// });
mCommentDatas = new ArrayList<>();
mAdapter = new CommentAdapter(mActivity, mCommentDatas, true);
mAdapter.addShowPhotoListener(path -> {

View File

@ -46,13 +46,17 @@ public class NewsMainActivity extends BaseActivity {
private List<NewsTabBean> mTabs = new ArrayList<>();
private List<Fragment> mFragments = new ArrayList<>();
private Disposable mDisposable;
private String mId;
private String mTitle;
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("文化动态");
mTitle = getIntent().getStringExtra("title");
mId = getIntent().getStringExtra("id");
refreshView(STATE_LOAD_LOADING);
mTvBaseTitle.setText(mTitle);
getNewsTabs();
}
@ -62,7 +66,7 @@ public class NewsMainActivity extends BaseActivity {
private void getNewsTabs() {
RetrofitManager.getInstance()
.create(HomeApi.class)
.getNewsTabListByPid(PathConfig.NEWS_ID)
.getNewsTabListByPid(mId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<NewsTabBean>>() {

View File

@ -0,0 +1,121 @@
package com.tengshisoft.mudulemain.cultural.activitys.news;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.FileProvider;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import retrofit2.http.Path;
import android.graphics.Canvas;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.webkit.HttpAuthHandler;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnDrawListener;
import com.github.barteksc.pdfviewer.listener.OnPageErrorListener;
import com.liulishuo.filedownloader.BaseDownloadTask;
import com.liulishuo.filedownloader.FileDownloadListener;
import com.liulishuo.filedownloader.FileDownloader;
import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.ProiderUtil;
import com.tengshisoft.mudulemain.R;
import com.tengshisoft.mudulemain.R2;
import java.io.File;
@Route(path = PathConfig.PATH_MODULE_MAIN_NEWS_PDF)
public class NewsPdfActivity extends BaseActivity {
@BindView(R2.id.pdf_content)
PDFView mPDFView;
private Unbinder mBind;
@Override
protected int setLayoutId() {
return R.layout.activity_news_pdf;
}
@Override
public void initData() {
super.initData();
//
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("数图资源");
refreshView(STATE_LOAD_LOADING);
String absolutePath = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
FileDownloader.setup(mActivity);
FileDownloader.getImpl()
.create("https://haidian2.hanyastar.com.cn/book/20170308153955_1488958795786_390.pdf")
.setPath(absolutePath, true)
.setListener(new FileDownloadListener() {
@Override
protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {
LogUtils.e(soFarBytes + "==");
}
@Override
protected void completed(BaseDownloadTask task) {
refreshView(STATE_LOAD_SUCCESS);
mPDFView.fromFile(new File(task.getPath() + File.separator + task.getFilename()))
.enableSwipe(true) // allows to block changing pages using swipe
.swipeHorizontal(false)
.enableDoubletap(true)
.defaultPage(0)
.enableAnnotationRendering(false) // render annotations (such as comments, colors or forms)
.password(null)
.scrollHandle(null)
.onPageError((page, t) -> refreshView(STATE_LOAD_ERROR))
.enableAntialiasing(true) // improve rendering a little bit on low-res screens
.spacing(0)
.load();
}
@Override
protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void error(BaseDownloadTask task, Throwable e) {
e.printStackTrace();
refreshView(STATE_LOAD_ERROR);
}
@Override
protected void warn(BaseDownloadTask task) {
}
})
.start();
}
@Override
protected void onDestroy() {
if (mBind != null) {
mBind.unbind();
}
super.onDestroy();
}
}

View File

@ -36,7 +36,7 @@ public class MainFuncAdapter extends BaseRecyclerAdapter<MainFuncBean, MainFuncH
public MainFuncHolder createHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_main_func, parent, false);
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) itemView.getLayoutParams();
if (mData.size() <= 5) {//处理居中
if (mData.size() <= 9) {//处理居中
int width = (ScreenUtils.getScreenWidth()) / 4;
layoutParams.width = width;
}

View File

@ -47,7 +47,7 @@ public class NewsAdapter extends BaseRecyclerAdapter<NewsItemBean.RowsBean, Recy
public NewsAdapter(Context ctx, List<NewsItemBean.RowsBean> list) {
super(ctx, list);
mPicOptions = new RequestOptions()
.transform(new GlideRoundTransform(mContext, 5))
.transform(new GlideRoundTransform(mContext, 2))
.error(R.drawable.ic_img_default)
.placeholder(R.drawable.ic_img_default);
}

View File

@ -1,58 +1,34 @@
package com.tengshisoft.mudulemain.cultural.fragment;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.MacAddress;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.baidu.mapapi.map.TextureMapView;
import com.ethanhua.skeleton.RecyclerViewSkeletonScreen;
import com.ethanhua.skeleton.Skeleton;
import com.ethanhua.skeleton.ViewSkeletonScreen;
import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.sucstepsoft.cm_utils.constant.MemoryConstants;
import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.beans.BaseImageBean;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BannerImageTextAdapter;
import com.sucstepsoft.cm_utils.core.widget.base.BaseBannerImageAdapter;
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.cm_utils.core.widget.base.CustomDialog;
import com.sucstepsoft.cm_utils.core.widget.views.BottomDialogShareView;
import com.sucstepsoft.cm_utils.core.widget.views.ItemSplitDivider;
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
import com.sucstepsoft.cm_utils.utils.ConvertUtils;
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.ScreenUtils;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UIUtil;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.tengshisoft.moduleactivity.beans.ActivityListBeans;
import com.tengshisoft.modulecultural.bean.CulturalLiveBean;
import com.tengshisoft.modulecultural.bean.LegacyListBean;
import com.tengshisoft.modulecultural.net.CulturalApi;
import com.tengshisoft.moduleplace.beans.PlaceListBean;
import com.tengshisoft.mudulemain.R;
import com.tengshisoft.mudulemain.R2;
import com.tengshisoft.mudulemain.cultural.activitys.base.DemoActivity;
import com.tengshisoft.mudulemain.cultural.activitys.base.MainActivity;
import com.tengshisoft.mudulemain.cultural.activitys.news.NewsMainActivity;
import com.tengshisoft.mudulemain.cultural.adapter.LiveAdapter;
import com.tengshisoft.mudulemain.cultural.adapter.MainCommendAdapter;
import com.tengshisoft.mudulemain.cultural.adapter.MainFuncAdapter;
@ -64,20 +40,12 @@ import com.tengshisoft.mudulemain.cultural.beans.NewsItemBean;
import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean;
import com.tengshisoft.mudulemain.cultural.net.HomeApi;
import com.youth.banner.Banner;
import com.youth.banner.config.IndicatorConfig;
import com.youth.banner.indicator.CircleIndicator;
import com.youth.banner.listener.OnBannerListener;
import com.youth.banner.transformer.AlphaPageTransformer;
import com.youth.banner.transformer.DepthPageTransformer;
import com.youth.banner.transformer.ScaleInTransformer;
import com.youth.banner.util.BannerUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.security.auth.login.LoginException;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
@ -85,12 +53,10 @@ import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import cn.jiguang.share.android.api.JShareInterface;
import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.exceptions.CompositeException;
import io.reactivex.schedulers.Schedulers;
/**
@ -148,7 +114,7 @@ public class HomeFragment extends BaseFragment {
setStateView(STATE_SUCCESS);
mSrlView.setEnableLoadMore(false);
mSrlView.setEnableRefresh(false);
mLlMainNews.setOnClickListener(v -> ARouter.getInstance().build(PathConfig.PATH_MODULE_MAIN_NEWS_MAIN).navigation());
// mLlMainNews.setOnClickListener(v -> ARouter.getInstance().build(PathConfig.PATH_MODULE_MAIN_NEWS_MAIN).navigation());
mRlvMainNews.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
mRlvMainNews.addItemDecoration(new ItemSplitDivider(mActivity, LinearLayoutManager.VERTICAL, 1, Color.parseColor("#F2F2F2")));
mRlvMainNews.setAdapter(mMAdapter);
@ -244,7 +210,9 @@ public class HomeFragment extends BaseFragment {
.navigation();
}
});
mLlLive.setOnClickListener(v -> ARouter.getInstance().build(PathConfig.PATH_MODULE_CULTURAL_LIVE).navigation());
// ARouter.getInstance().build(PathConfig.PATH_MODULE_MAIN_NEWS_MAIN).navigation()
// ARouter.getInstance().build(PathConfig.PATH_MODULE_CULTURAL_LIVE).navigation()
// mLlLive.setOnClickListener(v -> ARouter.getInstance().build(PathConfig.PATH_MODULE_CULTURAL_LIVE).navigation());
}
@ -662,11 +630,21 @@ public class HomeFragment extends BaseFragment {
MainFuncBean volunBean = new MainFuncBean();
volunBean.setIconRes(R.drawable.ic_volunteer_icon);
volunBean.setTitle("志愿者服务");
MainFuncBean showBean = new MainFuncBean();
showBean.setIconRes(R.drawable.ic_show_icon);
showBean.setTitle("展览展示");
MainFuncBean culBean = new MainFuncBean();
culBean.setIconRes(R.drawable.ic_cultural_trends_icon);
culBean.setTitle("文化动态");
mFuncBeans.add(showBean);
mFuncBeans.add(culBean);
mFuncBeans.add(volunBean);
mFuncBeans.add(activityBean);
mFuncBeans.add(placeBean);
mFuncBeans.add(culturalBean);
mFuncBeans.add(movieBean);
MainFuncAdapter funcAdapter = new MainFuncAdapter(getActivity(), mFuncBeans);
LinearLayoutManager manager = new LinearLayoutManager(mActivity, LinearLayoutManager.HORIZONTAL, false);
mRlvMainFunc.setLayoutManager(manager);
@ -701,11 +679,6 @@ public class HomeFragment extends BaseFragment {
mBanner.start();
}
private void showShareDialog() {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "数据加载中...");
dialog.show();
}
/**
* 首页点击按钮
*
@ -722,6 +695,16 @@ public class HomeFragment extends BaseFragment {
ARouter.getInstance().build(PathConfig.PATH_MODULE_CULTURAL_LIVE).navigation();
} else if ("志愿者服务".equals(mainFuncBean.getTitle())) {
ARouter.getInstance().build(PathConfig.PATH_MODULE_CULTURAL_VOUNTEER_MAIN).navigation();
} else if ("文化动态".equals(mainFuncBean.getTitle())) {
ARouter.getInstance().build(PathConfig.PATH_MODULE_MAIN_NEWS_MAIN)
.withString("title", "文化动态")
.withString("id", PathConfig.NEWS_ID)
.navigation();
} else if ("展览展示".equals(mainFuncBean.getTitle())) {
ARouter.getInstance().build(PathConfig.PATH_MODULE_MAIN_NEWS_MAIN)
.withString("title", "展览展示")
.withString("id", PathConfig.NEWS_SHOW_ID)
.navigation();
}
}
@ -734,90 +717,6 @@ public class HomeFragment extends BaseFragment {
protected void loadMoreData() {
}
/**
* // * 首页获取场馆--精彩推荐
* //
*/
// private void getPlaceList() {
// RetrofitManager.getInstance()
// .create(HomeApi.class)
// .getPlaceByOrder(UserLgUtils.getLocationLat(), UserLgUtils.getLocationLng(), "hot", "1", "3")
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(new Observer<PlaceListBean>() {
// @Override
// public void onSubscribe(Disposable d) {
//
// }
//
// @Override
// public void onNext(PlaceListBean placeListBean) {
// for (int i = 0; i < placeListBean.getRows().size(); i++) {
// PlaceListBean.RowsBean rowsBean = placeListBean.getRows().get(i);
// MainCommendBean bean = new MainCommendBean();
// bean.setType(1);
// bean.setId(rowsBean.getVenuesInfoId());
// bean.setImgUrl(rowsBean.getVenuePanorama());
// mMainCommendBeans.add(bean);
// }
// mCommendAdapter.setData(mMainCommendBeans);
//
// }
//
// @Override
// public void onError(Throwable e) {
//
// }
//
// @Override
// public void onComplete() {
//
// }
// });
//
// }
//
// /**
// * 首页获取最新的活动
// */
// private void getActivityList() {
// RetrofitManager.getInstance()
// .create(HomeApi.class)
// .getMainActivityList("1", "3")
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(new Observer<ActivityListBeans>() {
// @Override
// public void onSubscribe(Disposable d) {
//
// }
//
// @Override
// public void onNext(ActivityListBeans activityListBeans) {
// if (activityListBeans != null && activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
// for (int i = 0; i < activityListBeans.getRows().size(); i++) {
// ActivityListBeans.RowsBean rowsBean = activityListBeans.getRows().get(i);
// MainCommendBean bean = new MainCommendBean();
// bean.setType(1);
// bean.setId(rowsBean.getActivityLibraryId());
// bean.setImgUrl(rowsBean.getActivityImage());
// mMainCommendBeans.add(bean);
// }
// mCommendAdapter.setData(mMainCommendBeans);
// }
// }
//
// @Override
// public void onError(Throwable e) {
//
// }
//
// @Override
// public void onComplete() {
//
// }
// });
// }
@Override
protected int getContentViewId() {
return R.layout.fragment_home;

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".cultural.activitys.news.NewsPdfActivity">
<com.github.barteksc.pdfviewer.PDFView
android:id="@+id/pdf_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

View File

@ -35,7 +35,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/trans_black"
android:background="@drawable/shape_bottom_ra"
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"

View File

@ -14,6 +14,7 @@
android:ellipsize="end"
android:maxLines="2"
android:padding="5dp"
android:lines="2"
android:textColor="@color/black"
android:textSize="@dimen/news_title_text_size"
tools:text="新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题新闻标题" />
@ -30,7 +31,7 @@
android:layout_height="80dp"
android:layout_margin="2dp"
android:layout_weight="1"
tools:background="@drawable/temp_img" />
tools:background="@drawable/ic_img_default" />
<ImageView
android:id="@+id/iv_multi_pic_two"
@ -38,7 +39,7 @@
android:layout_height="80dp"
android:layout_margin="2dp"
android:layout_weight="1"
tools:background="@drawable/temp_img" />
tools:background="@drawable/ic_img_default" />
<ImageView
android:id="@+id/iv_multi_pic_three"
@ -46,7 +47,7 @@
android:layout_height="80dp"
android:layout_margin="2dp"
android:layout_weight="1"
tools:background="@drawable/temp_img" />
tools:background="@drawable/ic_img_default" />
</LinearLayout>
<RelativeLayout

View File

@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="2"
android:maxLines="2"
android:padding="5dp"
android:textColor="@color/black"

View File

@ -13,6 +13,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="2"
android:maxLines="2"
android:padding="5dp"
android:textColor="@color/black"
@ -28,14 +29,16 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
tools:background="@drawable/temp_img" />
android:scaleType="fitXY"
tools:background="@drawable/ic_img_default" />
<ImageView
android:id="@+id/iv_movie_play_icon"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerInParent="true"
android:background="@drawable/ic_play_item" />
android:scaleType="fitXY"
android:src="@drawable/ic_play_item" />
</RelativeLayout>
<RelativeLayout
@ -48,9 +51,9 @@
android:id="@+id/tv_movie_source"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLength="10"
android:textColor="@color/gray_text"
android:textSize="10sp"
android:maxLength="10"
tools:text="新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源新闻来源" />
<TextView
@ -77,9 +80,9 @@
android:id="@+id/iv_movie_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_alignParentRight="true"
android:src="@drawable/ic_close_item" />
android:src="@drawable/ic_close_item"
android:visibility="gone" />
</RelativeLayout>

View File

@ -12,7 +12,7 @@
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_margin="2dp"
tools:background="@drawable/temp_img" />
tools:background="@drawable/ic_img_default" />
<RelativeLayout
android:layout_width="0dp"
@ -26,11 +26,12 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="left"
android:lines="2"
android:maxLines="2"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="@dimen/news_title_text_size"
tools:text="左面封面,右面标题排版-在湖北代表团习近平强调组织牢密这张网" />
tools:text="左面封面,右面标题排版-在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网" />
<RelativeLayout

View File

@ -18,6 +18,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="2"
android:maxLines="2"
android:padding="5dp"
android:textColor="@color/black"
@ -77,5 +78,5 @@
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_margin="2dp"
tools:background="@drawable/temp_img" />
tools:background="@drawable/ic_img_default" />
</LinearLayout>

View File

@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="2"
android:maxLines="2"
android:padding="5dp"
android:textColor="@color/black"
@ -29,6 +30,7 @@
android:id="@+id/tv_source"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:maxLength="10"
android:textColor="@color/gray_text"
android:textSize="10sp"
@ -38,6 +40,7 @@
android:id="@+id/tv_comment_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/tv_source"
android:textColor="@color/gray_text"
@ -48,6 +51,7 @@
android:id="@+id/tv_publish_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/tv_comment_num"
android:textColor="@color/gray_text"

View File

@ -2,5 +2,5 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<dimen name="design_bottom_navigation_active_text_size" tools:override="true">12sp</dimen>
<dimen name="design_bottom_navigation_text_size" tools:override="true">12sp</dimen>
<dimen name="news_title_text_size" tools:override="true">13sp</dimen>
<dimen name="news_title_text_size" tools:override="true">14sp</dimen>
</resources>

View File

@ -4,6 +4,7 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.icu.text.IDNA;
import android.os.Bundle;
import android.provider.Settings;
@ -36,6 +37,9 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.CustomViewTarget;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.transition.Transition;
import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.constant.PermissionConstants;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
@ -57,6 +61,7 @@ import com.tengshisoft.modulemap.net.ApiMap;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -257,6 +262,7 @@ public class ShowIconMapActivity extends BaseActivity {
* @param data
*/
private void addMarkers(List<PlacePointBean.DataBean> data) {
LogUtils.e(data.size());
mBaiduMap.clear();
List<OverlayOptions> markerOptionsList = new ArrayList<>();
for (int i = 0; i < data.size(); i++) {
@ -272,13 +278,19 @@ public class ShowIconMapActivity extends BaseActivity {
ImageView cover = markerView.findViewById(R.id.iv_cover);
String venuePanorama = dataBean.getVenuePanorama();
String[] split = venuePanorama.split(",");
LogUtils.e(BaseUrlApi.BASE_PLACE_IMG_IP + split[0]);
Glide.with(mActivity)
.asBitmap()
.load(BaseUrlApi.BASE_PLACE_IMG_IP + split[0])
.skipMemoryCache(true)
.apply(RequestOptions.bitmapTransform(new CircleCrop())
.error(R.drawable.ic_img_default_marker)
.placeholder(R.drawable.ic_img_default_marker)
.override(100, 100))
.into(cover);
.override(100, 100).diskCacheStrategy(DiskCacheStrategy.RESOURCE))
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
cover.setImageBitmap(resource);
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromView(markerView);
MarkerOptions markerOptions = new MarkerOptions()
.position(new LatLng(lat, lng))
@ -286,6 +298,11 @@ public class ShowIconMapActivity extends BaseActivity {
.icon(bitmapDescriptor)
.anchor(0.5f, 0.5f);
markerOptionsList.add(markerOptions);
notifyMapView(markerOptionsList);
}
});
}
}
mBaiduMap.addOverlays(markerOptionsList);
@ -294,6 +311,13 @@ public class ShowIconMapActivity extends BaseActivity {
}
}
private void notifyMapView(List<OverlayOptions> markerOptionsList) {
mBaiduMap.addOverlays(markerOptionsList);
if (mCurrentLocation != null) {
addMyMarker(mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude());
}
}
private AlertDialog mGpsSettingDialog;
/**

View File

@ -120,6 +120,7 @@
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:inputType="number"
android:background="@null"
android:hint="请输入验证码"
android:textSize="13sp" />