diff --git a/app/release/output.json b/app/release/output.json index d74bf02..3c51c7f 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -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":{}}] \ No newline at end of file +[{"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":{}}] \ No newline at end of file diff --git a/build.gradle b/build.gradle index 7af5714..9e5c145 100644 --- a/build.gradle +++ b/build.gradle @@ -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' } \ No newline at end of file diff --git a/cm_utils/build.gradle b/cm_utils/build.gradle index 8609cb5..c9756a0 100755 --- a/cm_utils/build.gradle +++ b/cm_utils/build.gradle @@ -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' } diff --git a/cm_utils/src/main/assets/fonts/STSONG.TTF b/cm_utils/src/main/assets/fonts/STSONG.TTF new file mode 100644 index 0000000..3870605 Binary files /dev/null and b/cm_utils/src/main/assets/fonts/STSONG.TTF differ diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java index f352337..65fd245 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java @@ -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";//注册 diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/newdownload/listener/DownloadListener.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/newdownload/listener/DownloadListener.java new file mode 100644 index 0000000..88c5387 --- /dev/null +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/newdownload/listener/DownloadListener.java @@ -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(); +} diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseBannerImageAdapter.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseBannerImageAdapter.java index 6d2779c..2fc3116 100644 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseBannerImageAdapter.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseBannerImageAdapter.java @@ -41,11 +41,11 @@ public class BaseBannerImageAdapter extends BannerAdapter + + + + \ No newline at end of file diff --git a/cm_utils/src/main/res/values/attrs.xml b/cm_utils/src/main/res/values/attrs.xml index aacf5ab..d63ec66 100755 --- a/cm_utils/src/main/res/values/attrs.xml +++ b/cm_utils/src/main/res/values/attrs.xml @@ -14,19 +14,24 @@ - - - - - - + + + + + + + - - - - - - + + + + + + + + + + diff --git a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/ActivityDetailActivity.java b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/ActivityDetailActivity.java index 4218035..921b933 100644 --- a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/ActivityDetailActivity.java +++ b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/ActivityDetailActivity.java @@ -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() { @@ -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 { diff --git a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/MineActivityListActivity.java b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/MineActivityListActivity.java index f7f757d..8fc734f 100644 --- a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/MineActivityListActivity.java +++ b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/activity/MineActivityListActivity.java @@ -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); } diff --git a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/beans/ActivityListBeans.java b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/beans/ActivityListBeans.java index 1a6755d..5bf0ea3 100644 --- a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/beans/ActivityListBeans.java +++ b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/beans/ActivityListBeans.java @@ -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; diff --git a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/net/ApiActivity.java b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/net/ApiActivity.java index 56a7064..a339141 100644 --- a/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/net/ApiActivity.java +++ b/moduleactivity/src/main/java/com/tengshisoft/moduleactivity/net/ApiActivity.java @@ -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 doCancelSignUp(@Path("activityid") String id, @Header("token") String token); + @GET("app/activityuserapply/cancelapply/{activityid}/{activityApplyUserId}") + Observable doCancelSignUp(@Path("activityid") String id, @Path("activityApplyUserId") String aId, @Header("token") String token); /** * 获取验证码 diff --git a/moduleactivity/src/main/res/layout/activity_sign_up.xml b/moduleactivity/src/main/res/layout/activity_sign_up.xml index 0c6a9e0..a5adf26 100644 --- a/moduleactivity/src/main/res/layout/activity_sign_up.xml +++ b/moduleactivity/src/main/res/layout/activity_sign_up.xml @@ -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" /> diff --git a/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLegacyActivity.java b/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLegacyActivity.java index 2a2a163..d684b8d 100644 --- a/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLegacyActivity.java +++ b/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLegacyActivity.java @@ -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 { diff --git a/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLiveActivity.java b/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLiveActivity.java index f0c7745..e4bf85b 100644 --- a/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLiveActivity.java +++ b/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/CulturalLiveActivity.java @@ -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); diff --git a/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/LegacyDetailActivity.java b/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/LegacyDetailActivity.java index 627899e..614e69a 100644 --- a/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/LegacyDetailActivity.java +++ b/modulecultural/src/main/java/com/tengshisoft/modulecultural/activitys/LegacyDetailActivity.java @@ -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 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()); diff --git a/modulecultural/src/main/java/com/tengshisoft/modulecultural/adapter/LegacyMainAdapter.java b/modulecultural/src/main/java/com/tengshisoft/modulecultural/adapter/LegacyMainAdapter.java index 41998f6..3424609 100644 --- a/modulecultural/src/main/java/com/tengshisoft/modulecultural/adapter/LegacyMainAdapter.java +++ b/modulecultural/src/main/java/com/tengshisoft/modulecultural/adapter/LegacyMainAdapter.java @@ -37,7 +37,7 @@ public class LegacyMainAdapter extends BaseRecyclerAdapter> getLegacyPersonById(@Query("id") String id); + Observable> getLegacyPersonById(@Query("intangibleLibraryId") String id); @Headers({"base_url_name:legacy", "Content-Type:application/json", "Accept:application/json"}) @GET("app/intangiblelibraryperson/listintangiblelibrarypersonrelease") diff --git a/modulecultural/src/main/res/layout/activity_cultural_legacy.xml b/modulecultural/src/main/res/layout/activity_cultural_legacy.xml index 70203b9..1a6a36a 100644 --- a/modulecultural/src/main/res/layout/activity_cultural_legacy.xml +++ b/modulecultural/src/main/res/layout/activity_cultural_legacy.xml @@ -7,7 +7,7 @@ android:orientation="vertical" android:theme="@style/Theme.AppCompat"> - + - + + + + + - + android:layout_height="match_parent"/> diff --git a/modulemain/build.gradle b/modulemain/build.gradle index be5e6ea..ac1e81e 100644 --- a/modulemain/build.gradle +++ b/modulemain/build.gradle @@ -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' diff --git a/modulemain/src/main/AndroidManifest.xml b/modulemain/src/main/AndroidManifest.xml index a5d4e62..ad9c968 100644 --- a/modulemain/src/main/AndroidManifest.xml +++ b/modulemain/src/main/AndroidManifest.xml @@ -23,14 +23,13 @@ - - + - + - - - - - - - \ No newline at end of file diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsDetailActivity.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsDetailActivity.java index aebb005..635e974 100644 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsDetailActivity.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsDetailActivity.java @@ -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 -> { diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java index d34c155..588253a 100644 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java @@ -46,13 +46,17 @@ public class NewsMainActivity extends BaseActivity { private List mTabs = new ArrayList<>(); private List 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>() { diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsPdfActivity.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsPdfActivity.java new file mode 100644 index 0000000..f13d3e6 --- /dev/null +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsPdfActivity.java @@ -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(); + } +} diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/adapter/MainFuncAdapter.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/adapter/MainFuncAdapter.java index 1d44c1c..63fe0dd 100644 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/adapter/MainFuncAdapter.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/adapter/MainFuncAdapter.java @@ -36,7 +36,7 @@ public class MainFuncAdapter extends BaseRecyclerAdapter 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); } diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java index 435fb14..028edc5 100644 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java @@ -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() { -// @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() { -// @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; diff --git a/modulemain/src/main/res/drawable-xhdpi/ic_cultural_trends_icon.png b/modulemain/src/main/res/drawable-xhdpi/ic_cultural_trends_icon.png new file mode 100644 index 0000000..4d22afd Binary files /dev/null and b/modulemain/src/main/res/drawable-xhdpi/ic_cultural_trends_icon.png differ diff --git a/modulemain/src/main/res/drawable-xhdpi/ic_show_icon.png b/modulemain/src/main/res/drawable-xhdpi/ic_show_icon.png new file mode 100644 index 0000000..22c3870 Binary files /dev/null and b/modulemain/src/main/res/drawable-xhdpi/ic_show_icon.png differ diff --git a/modulemain/src/main/res/layout/activity_news_pdf.xml b/modulemain/src/main/res/layout/activity_news_pdf.xml new file mode 100644 index 0000000..4494011 --- /dev/null +++ b/modulemain/src/main/res/layout/activity_news_pdf.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/modulemain/src/main/res/layout/item_main_commend.xml b/modulemain/src/main/res/layout/item_main_commend.xml index 83ffebb..520fe8d 100644 --- a/modulemain/src/main/res/layout/item_main_commend.xml +++ b/modulemain/src/main/res/layout/item_main_commend.xml @@ -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" diff --git a/modulemain/src/main/res/layout/item_news_multi_pic.xml b/modulemain/src/main/res/layout/item_news_multi_pic.xml index f0aba52..0cf6781 100644 --- a/modulemain/src/main/res/layout/item_news_multi_pic.xml +++ b/modulemain/src/main/res/layout/item_news_multi_pic.xml @@ -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" /> + tools:background="@drawable/ic_img_default" /> + tools:background="@drawable/ic_img_default" /> + android:scaleType="fitXY" + tools:background="@drawable/ic_img_default" /> + android:scaleType="fitXY" + android:src="@drawable/ic_play_item" /> + android:src="@drawable/ic_close_item" + android:visibility="gone" /> diff --git a/modulemain/src/main/res/layout/item_news_single_pic_left.xml b/modulemain/src/main/res/layout/item_news_single_pic_left.xml index 0d43d12..e998728 100644 --- a/modulemain/src/main/res/layout/item_news_single_pic_left.xml +++ b/modulemain/src/main/res/layout/item_news_single_pic_left.xml @@ -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" /> + tools:text="左面封面,右面标题排版-在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网在湖北代表团习近平强调组织牢密这张网" /> + tools:background="@drawable/ic_img_default" /> \ No newline at end of file diff --git a/modulemain/src/main/res/layout/item_news_voice.xml b/modulemain/src/main/res/layout/item_news_voice.xml index d0d8015..f52a6f2 100644 --- a/modulemain/src/main/res/layout/item_news_voice.xml +++ b/modulemain/src/main/res/layout/item_news_voice.xml @@ -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" diff --git a/modulemain/src/main/res/values/dimens.xml b/modulemain/src/main/res/values/dimens.xml index 32d345c..bd9a5ab 100755 --- a/modulemain/src/main/res/values/dimens.xml +++ b/modulemain/src/main/res/values/dimens.xml @@ -2,5 +2,5 @@ 12sp 12sp - 13sp + 14sp \ No newline at end of file diff --git a/modulemap/src/main/java/com/tengshisoft/modulemap/activitys/maps/ShowIconMapActivity.java b/modulemap/src/main/java/com/tengshisoft/modulemap/activitys/maps/ShowIconMapActivity.java index 77dae27..cebff1f 100644 --- a/modulemap/src/main/java/com/tengshisoft/modulemap/activitys/maps/ShowIconMapActivity.java +++ b/modulemap/src/main/java/com/tengshisoft/modulemap/activitys/maps/ShowIconMapActivity.java @@ -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 data) { + LogUtils.e(data.size()); mBaiduMap.clear(); List markerOptionsList = new ArrayList<>(); for (int i = 0; i < data.size(); i++) { @@ -272,20 +278,31 @@ 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); - BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromView(markerView); - MarkerOptions markerOptions = new MarkerOptions() - .position(new LatLng(lat, lng)) - .extraInfo(bundle) - .icon(bitmapDescriptor) - .anchor(0.5f, 0.5f); - markerOptionsList.add(markerOptions); + .override(100, 100).diskCacheStrategy(DiskCacheStrategy.RESOURCE)) + .into(new SimpleTarget() { + @Override + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + cover.setImageBitmap(resource); + BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromView(markerView); + MarkerOptions markerOptions = new MarkerOptions() + .position(new LatLng(lat, lng)) + .extraInfo(bundle) + .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 markerOptionsList) { + mBaiduMap.addOverlays(markerOptionsList); + if (mCurrentLocation != null) { + addMyMarker(mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude()); + } + } + private AlertDialog mGpsSettingDialog; /** diff --git a/moduleplace/src/main/res/layout/activity_destine.xml b/moduleplace/src/main/res/layout/activity_destine.xml index 9c854b5..9f02165 100644 --- a/moduleplace/src/main/res/layout/activity_destine.xml +++ b/moduleplace/src/main/res/layout/activity_destine.xml @@ -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" />