ソースを参照

1.藏品分享

shihuiyun 2 年 前
コミット
8c9b260e24
28 ファイル変更1795 行追加488 行削除
  1. 3 1
      app/build.gradle
  2. 7 0
      app/src/main/AndroidManifest.xml
  3. 4 6
      app/src/main/java/com/zswc/creativity/App.kt
  4. 110 14
      app/src/main/java/com/zswc/creativity/activity/TibetanDetailsActivity.kt
  5. 3 6
      app/src/main/java/com/zswc/creativity/adapter/RecommedAdapter.kt
  6. 14 14
      app/src/main/java/com/zswc/creativity/fragment/RecommendFragment.kt
  7. 33 0
      app/src/main/java/com/zswc/creativity/utils/ColorUtils.java
  8. 668 0
      app/src/main/java/com/zswc/creativity/utils/PopuDownWxUtils.kt
  9. 63 57
      app/src/main/java/com/zswc/creativity/utils/PopuShareWxUtils.kt
  10. 34 0
      app/src/main/java/com/zswc/creativity/utils/QqUtils.kt
  11. 1 1
      app/src/main/java/com/zswc/creativity/utils/WeChatUtil.kt
  12. 45 0
      app/src/main/java/com/zswc/creativity/view/MyScrollView.java
  13. 5 2
      app/src/main/java/com/zswc/creativity/vmodel/TibetanDetailsVModel.kt
  14. BIN
      app/src/main/res/drawable-xxhdpi/share_friends.png
  15. BIN
      app/src/main/res/drawable-xxhdpi/share_friends.webp
  16. BIN
      app/src/main/res/drawable-xxhdpi/share_link.png
  17. BIN
      app/src/main/res/drawable-xxhdpi/share_save.png
  18. BIN
      app/src/main/res/drawable-xxhdpi/share_wx.png
  19. BIN
      app/src/main/res/drawable-xxhdpi/share_wx.webp
  20. 11 0
      app/src/main/res/drawable/bg_share_white.xml
  21. 435 353
      app/src/main/res/layout/activity_tibetan_details.xml
  22. 247 0
      app/src/main/res/layout/item_popu_down.xml
  23. 16 4
      app/src/main/res/layout/item_recommed.xml
  24. 96 29
      app/src/main/res/layout/item_wx_share.xml
  25. 0 1
      base/src/main/java/com/ysnows/base/binding/ImageBindingAdapter.kt
  26. BIN
      base/src/main/res/drawable-xxhdpi/ct_tib_back.png
  27. BIN
      base/src/main/res/drawable-xxhdpi/ct_tib_share.png
  28. BIN
      base/src/main/res/drawable-xxhdpi/share_wx.png

+ 3 - 1
app/build.gradle

@@ -147,6 +147,8 @@ dependencies {
     implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
 
     implementation 'cat.ereza:customactivityoncrash:2.3.0'
-
+//二维码扫描页面
+    implementation 'cn.yipianfengye.android:zxing-library:2.2'
+    implementation 'androidx.multidex:multidex:2.0.0'
 
 }

+ 7 - 0
app/src/main/AndroidManifest.xml

@@ -26,6 +26,13 @@
     <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
     <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
 
+
+    <uses-permission android:name="android.permission.VIBRATE" />
+    <uses-permission android:name="android.permission.HARDWARE_TEST"
+        tools:ignore="ProtectedPermissions" />
+    <uses-permission android:name="android.permission.FLASHLIGHT"/>
+
+
     <queries >
         <package android:name="com.tencent.mm" />
     </queries >

+ 4 - 6
app/src/main/java/com/zswc/creativity/App.kt

@@ -1,18 +1,13 @@
 package com.zswc.creativity
 
 import android.speech.tts.TextToSpeech
-import android.util.Log
 import cat.ereza.customactivityoncrash.config.CaocConfig
-import coil.ImageLoader
-import coil.ImageLoaderFactory
-import coil.request.CachePolicy
-import coil.util.CoilUtils
+import com.uuzuche.lib_zxing.activity.ZXingLibrary
 import com.ysnows.base.base.BApp
 import com.ysnows.base.config.IConfig
 import com.ysnows.update.component.UpdateUtils
 import com.zswc.creativity.activity.CustomErrorActivity
 import com.zswc.creativity.config.Config
-import okhttp3.OkHttpClient
 import java.util.*
 
 
@@ -31,6 +26,9 @@ class App : BApp(){
         }
 
         UpdateUtils.init(this)
+        //二维码库
+        ZXingLibrary.initDisplayOpinion(this)
+
 
         //注册微信
        // regToWx(this)

+ 110 - 14
app/src/main/java/com/zswc/creativity/activity/TibetanDetailsActivity.kt

@@ -1,5 +1,7 @@
 package com.zswc.creativity.activity
 
+import android.graphics.Color
+import android.os.Build
 import android.os.Build.VERSION.SDK_INT
 import android.os.Bundle
 import android.os.Handler
@@ -9,25 +11,25 @@ import android.util.Log
 import android.view.KeyEvent
 import android.view.View
 import androidx.lifecycle.lifecycleScope
-import coil.Coil
 import coil.ImageLoader
 import coil.decode.GifDecoder
 import coil.decode.ImageDecoderDecoder
 import coil.load
-import coil.request.CachePolicy
 import coil.request.Disposable
-import coil.transform.CircleCropTransformation
 import com.hwangjr.rxbus.annotation.Subscribe
 import com.hwangjr.rxbus.annotation.Tag
 import com.qmuiteam.qmui.kotlin.onClick
 import com.ysnows.base.utils.B
 import com.ysnows.base.utils.UiSwitch
+import com.ysnows.base.utils.UiUtils
 import com.zswc.creativity.R
 import com.zswc.creativity.base.MBActivity
 import com.zswc.creativity.config.ConfigRx
 import com.zswc.creativity.databinding.ActivityTibetanDetailsBinding
 import com.zswc.creativity.model.bean.PayTypeBen
+import com.zswc.creativity.utils.ColorUtils
 import com.zswc.creativity.utils.net.NetEngine
+import com.zswc.creativity.view.MyScrollView
 import com.zswc.creativity.vmodel.TibetanDetailsVModel
 import kotlinx.coroutines.launch
 import java.text.DecimalFormat
@@ -39,10 +41,19 @@ import java.text.DecimalFormat
 class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanDetailsBinding>() {
 
     var sumSecond = 300//5分钟的总的秒数
-    var disposable: Disposable? =null
+    var disposable: Disposable? = null
+     var islide = true //是否滑动的时候标题改变
+     var screenHeightPixels = 0
+
+
     override fun init(savedInstanceState: Bundle?) {
         super.init(savedInstanceState)
+
         titleBar()?.imgRight?.setImageResource(R.drawable.ct_share)
+        screenHeightPixels = UiUtils.getScreenHeightPixels()
+        setShow()
+
+
         vm.ll = binding.ll
         var id = intent?.extras?.getString("id")
         vm.getInfo(id!!)
@@ -61,7 +72,6 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
                 if (ss == "gif" || ss == "GIF") {
                     binding.imageView.visibility = View.GONE
                     //设置图片加载gif
-
                     val imageLoader = ImageLoader.Builder(context = this)
                             .crossfade(true)
                             .availableMemoryPercentage(0.25)
@@ -73,8 +83,7 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
                                     add(GifDecoder())
                                 }
                             }.build()
-                      Coil.setImageLoader(imageLoader)
-                     disposable= binding.imageGifView.load(it.detail_img)
+                    disposable = binding.imageGifView.load(it.detail_img, imageLoader)
                     binding.imageGifView.visibility = View.VISIBLE
                 } else {
                     binding.imageView.load(it.detail_img)
@@ -89,10 +98,61 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
 
     }
 
+    private fun setShow() {
+
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { //不支持沉浸式状态栏
+        } else {
+            //获取状态栏的高度
+            val statusBarHeight: Int = UiUtils.getStatusBarHeight()
+
+            //动态设置高度  tv
+            val params = binding.tv.getLayoutParams()
+            //获取当前控件的布局对象
+            //params.height=UiUtils.dp2dip(getContext(), statusBarHeight);//设置当前控件布局的高度
+            params.height = statusBarHeight
+            binding.tv.layoutParams = params //将设置好的布局参数应用到控件中
+            binding.tv.visibility = View.VISIBLE
+
+            binding.tvTwo.layoutParams=params
+            binding.tvTwo.visibility = View.VISIBLE
+
+
+        }
+
+    }
+
+
 
     override fun listeners() {
         super.listeners()
 
+
+
+
+        binding.scroll.setOnScrollListener(object : MyScrollView.OnScrollChangedListener {
+
+
+            override fun onScrollChanged(x: Int, y: Int, oldX: Int, oldY: Int) {
+                if (islide) {
+
+                    if (y == 0) {
+                        binding.llShowTwo.visibility=View.GONE
+                        binding.llShowOne.visibility=View.VISIBLE
+
+                    } else if (y - oldY > 0) {
+                        if (screenHeightPixels <= 960) {
+                            setBarVisibility(y, 100)
+                        } else {
+                            setBarVisibility(y, 200)
+                        }
+                    } else if (y - oldY < 0) {
+                    }
+                }
+            }
+        })
+
+
+
         titleBar()?.imgLeft?.onClick {
 
             finishActivity()
@@ -107,6 +167,10 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
             vm.getUrl()
 
         }
+        binding.imgShareTo.onClick {
+            //分享
+            vm.getUrl()
+        }
 
 
 //        screenHeightPixels = UiUtils.getScreenHeightPixels(getContext());
@@ -142,6 +206,32 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
 
     }
 
+    private fun setBarVisibility(y: Int, height: Int) {
+        if (y > 0 && y < height) {
+            binding.llShowOne.visibility=View.GONE
+            binding.llShowTwo.visibility=View.VISIBLE
+
+
+            val df = DecimalFormat("0.00")
+            val s = df.format((y.toFloat() / height).toDouble())
+            val a = s.toFloat() //0~1
+
+            // float a = y / height;//0~1
+            val ratio = 255 - (255 * a).toFloat() //255-(0~255)=255~0
+            val bgColor: Int = ColorUtils.getColorWithAlpha(Color.parseColor("#FFFFFF"), ratio)
+            binding.llShowTwo.setBackgroundColor(bgColor)
+            binding.tvShowTitle.alpha = a
+
+        } else if (y > height) {
+            binding.llShowTwo.setBackgroundColor(Color.WHITE)
+            binding.llShowTwo.visibility = View.VISIBLE
+
+            binding.tvShowTitle.alpha = 1f
+            binding.tvShowTitle.visibility = View.VISIBLE
+        }
+    }
+
+
 //    private fun setBarVisibility(y: Int, height: Int) {
 //        if (y > 0 && y < height) {
 //            line.setVisibility(View.GONE)
@@ -265,18 +355,22 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
 
 
                 val it = vm.repository().lreq {
-                    NetEngine.service.setCreateOrder("app", vm.data.value?.id, bean.num,
-                            "qb", bean.second_password)
+                    NetEngine.service.setCreateOrder(
+                            "app", vm.data.value?.id, bean.num,
+                            "qb", bean.second_password
+                    )
                 }
                 if (it.ok(true)) {
                     //todo:支付成功
                     var price = bean.num.toInt() * vm.data.value?.price!!.toDouble()
                     var orderid = it.data.toString()
-                    UiSwitch.bundle(context(), PaySuessActivity::class.java,
+                    UiSwitch.bundle(
+                            context(), PaySuessActivity::class.java,
                             B().putString("orderid", orderid)
                                     .putString("type", "2")
                                     .putString("price", price.toString())
-                                    .ok())
+                                    .ok()
+                    )
 
                 }
 
@@ -322,7 +416,7 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
 
     override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
         return if (keyCode == KeyEvent.KEYCODE_BACK) {
-            if(null!=disposable) {
+            if (null != disposable) {
                 disposable?.dispose()
             }
             finishActivity()
@@ -331,10 +425,12 @@ class TibetanDetailsActivity : MBActivity<TibetanDetailsVModel, ActivityTibetanD
             super.onKeyDown(keyCode, event)
         }
     }
-
+    override fun transluent(): Boolean {
+        return true
+    }
     override fun onDestroy() {
         super.onDestroy()
-        if(null!=disposable) {
+        if (null != disposable) {
             disposable?.dispose()
         }
     }

+ 3 - 6
app/src/main/java/com/zswc/creativity/adapter/RecommedAdapter.kt

@@ -1,17 +1,13 @@
 package com.zswc.creativity.adapter
 
-import android.graphics.BitmapFactory
 import android.graphics.Color
-import android.widget.ImageView
 import coil.load
+import coil.transform.RoundedCornersTransformation
 import com.chad.library.adapter.base.viewholder.BaseDataBindingHolder
 import com.ysnows.base.base.BAdapter
 import com.zswc.creativity.R
 import com.zswc.creativity.databinding.ItemRecommedBinding
 import com.zswc.creativity.model.CollectionList
-import java.io.InputStream
-import java.net.URL
-import java.net.URLConnection
 
 
 class RecommedAdapter() : BAdapter<CollectionList,
@@ -24,7 +20,8 @@ class RecommedAdapter() : BAdapter<CollectionList,
 
 
         holder.dataBinding?.imgBg?.load(item.cover){
-            size(200,200)
+           // 圆角
+            transformations(RoundedCornersTransformation(20f))
             placeholder(R.drawable.bg_need_error)
             error(R.drawable.bg_need_error)
         }

+ 14 - 14
app/src/main/java/com/zswc/creativity/fragment/RecommendFragment.kt

@@ -50,20 +50,20 @@ class RecommendFragment : MBFragment<RecommendVModel, FragmentRecommendBinding>(
             if (null == it) {
                 return@Observer
             }
-            if(it.size>10){
-                var list=ArrayList<CollectionList>()
-               var i=0
-                for(item in it){
-                   if(i<10){
-                       list.add(item)
-                   }else{
-                       listTo.add(item)
-                   }
-                    i++
-                }
-                setAdapter(list)
-                return@Observer
-            }
+//            if(it.size>10){
+//                var list=ArrayList<CollectionList>()
+//               var i=0
+//                for(item in it){
+//                   if(i<10){
+//                       list.add(item)
+//                   }else{
+//                       listTo.add(item)
+//                   }
+//                    i++
+//                }
+//                setAdapter(list)
+//                return@Observer
+//            }
            setAdapter(it)
 
         })

+ 33 - 0
app/src/main/java/com/zswc/creativity/utils/ColorUtils.java

@@ -0,0 +1,33 @@
+package com.zswc.creativity.utils;
+
+import android.graphics.Color;
+
+/**
+ * Created by xianguangjin on 16/8/19.
+ * <p>
+ * 我的GitHub: https://github.com/ysnows
+ * <p>
+ * 加油,做一个真的汉子
+ */
+
+public class ColorUtils {
+
+    public static int getColorWithAlpha(int color, float ratio) {
+        int newColor = 0;
+
+        int alpha = Math.round(Color.alpha(color) * ratio);
+
+        int r = Color.red(color);
+
+        int g = Color.green(color);
+
+        int b = Color.blue(color);
+
+        newColor = Color.argb(alpha, r, g, b);
+
+        return newColor;
+
+    }
+
+
+}

+ 668 - 0
app/src/main/java/com/zswc/creativity/utils/PopuDownWxUtils.kt

@@ -0,0 +1,668 @@
+package com.zswc.creativity.utils
+
+import android.Manifest
+import android.annotation.SuppressLint
+import android.app.Activity
+import android.content.*
+import android.graphics.Bitmap
+import android.graphics.Canvas
+import android.net.Uri
+import android.os.Build
+import android.os.Environment
+import android.provider.MediaStore
+import android.text.TextUtils
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.widget.*
+import androidx.appcompat.widget.AppCompatImageView
+import coil.load
+import coil.transform.RoundedCornersTransformation
+import com.qmuiteam.qmui.kotlin.onClick
+import com.qmuiteam.qmui.layout.QMUIFrameLayout
+import com.qmuiteam.qmui.skin.QMUISkinValueBuilder
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
+import com.qmuiteam.qmui.widget.popup.QMUIPopup
+import com.qmuiteam.qmui.widget.popup.QMUIPopups
+import com.uuzuche.lib_zxing.activity.CodeUtils
+import com.yanzhenjie.permission.Action
+import com.yanzhenjie.permission.AndPermission
+import com.yanzhenjie.permission.FileProvider
+import com.ysnows.base.utils.Toasts
+import com.zhy.http.okhttp.OkHttpUtils
+import com.zhy.http.okhttp.callback.FileCallBack
+import com.zswc.creativity.BuildConfig
+import com.zswc.creativity.R
+import okhttp3.Call
+import java.io.File
+import java.io.FileNotFoundException
+import java.io.FileOutputStream
+import java.util.*
+
+
+/**
+ * 分享--本地视图view的 分享
+ *Created by shihuiyun
+ *on 2020/9/21
+ * 二维码地址:
+ * https://cc.chuangchi.vip/web/h5//pages/index/goodsinfo?id=96
+ */
+object PopuDownWxUtils {
+
+    var chose = 1
+    private const val title = "分享"
+    var tipDialog: QMUITipDialog? = null
+    private var downimg: String? = null
+    private val uriArrayList = ArrayList<Uri>() //下载到本地的图片的集合
+    var cr: ContentResolver? = null
+    var isFristo = true
+    var isFrist = true
+
+    var uriToImage: Uri? = null
+
+
+    fun show(context: Context, url: String,name:String?,auth_name:String?, id:String?,view: View, contentResolver: ContentResolver) {
+        cr = contentResolver
+        var mNormalPopup = QMUIPopups.fullScreenPopup(context)
+        val builder: QMUISkinValueBuilder = QMUISkinValueBuilder.acquire()
+        val frameLayout = QMUIFrameLayout(context)
+        //自定义布局
+        val layoutInflater = context?.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
+        var layout = layoutInflater.inflate(R.layout.item_popu_down, null)
+
+        val img: AppCompatImageView = layout.findViewById(R.id.img)
+        val llShareOne: LinearLayout = layout.findViewById(R.id.ll_share_one)
+        val llWx: LinearLayout = layout.findViewById(R.id.ll_wx)
+        val llShareThree: LinearLayout = layout.findViewById(R.id.ll_share_three)
+        val llSave: LinearLayout = layout.findViewById(R.id.ll_save)
+        val llLink: LinearLayout = layout.findViewById(R.id.ll_link)
+        val tvClose: TextView = layout.findViewById(R.id.tv_close)
+        val tvTitle: TextView = layout.findViewById(R.id.tv_title)
+        val tvName: TextView = layout.findViewById(R.id.tv_name)
+        val imgCode: ImageView = layout.findViewById(R.id.img_code)
+        val flContainer: FrameLayout = layout.findViewById(R.id.fl_container)
+
+
+
+        tvTitle.text=name
+        tvName.text= "作者:$auth_name"
+        //生成二维码
+        var  mBitmap   = CodeUtils.createImage("https://cc.chuangchi.vip/web/h5//pages/index/goodsinfo?id=$id", 400, 400, null)
+        imgCode.setImageBitmap(mBitmap)
+
+
+//        val params = img.layoutParams
+//
+//        val display = (context as Activity).windowManager.defaultDisplay
+//        val screenWidth = display.width
+//        params.width = screenWidth - UiUtils.dp2Px(context, 60f)
+//        //params.height = (((screenWidth - UiUtils.dp2Px(context, 60f)) * 1.6).toInt())
+//          params.height=screenWidth - UiUtils.dp2Px(context, 60f)
+//
+//        img.layoutParams = params
+
+        img.load(url){
+            transformations(RoundedCornersTransformation(15f))
+            placeholder(R.drawable.bg_need_error)
+            error(R.drawable.bg_need_error)
+        }
+
+
+        llShareOne.onClick {
+            //分享给好友
+            chose = 2
+           // setShareImages(context, url)
+            setChose(context,flContainer,chose.toString())
+
+            mNormalPopup.dismiss()
+
+
+        }
+        llLink.onClick {
+            //复制图片链接到粘贴板
+
+            val cm: ClipboardManager? = context?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager?
+            val mClipData = ClipData.newPlainText("Label", url)
+            cm?.setPrimaryClip(mClipData)
+            Toast.makeText(context, "文字已复制到粘贴板", Toast.LENGTH_SHORT).show()
+            mNormalPopup.dismiss()
+        }
+
+        llWx.onClick {
+
+            //分享给朋友圈
+            chose = 3//分享到维信朋友圈
+            setChose(context,flContainer,chose.toString())
+            mNormalPopup.dismiss()
+
+        }
+        llShareThree.onClick {
+            //分享到QQ
+            chose=4
+            setChoseQQ(context,flContainer,chose.toString())
+
+            mNormalPopup.dismiss()
+        }
+
+        tvClose.onClick {
+            mNormalPopup.dismiss()
+        }
+
+        llSave.onClick {
+
+            //保存图片到本地
+
+
+            var tipDialog = QMUITipDialog.Builder(context)
+                    .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+                    .setTipWord("正在保存图片...")
+                    .create()
+
+
+            Thread(Runnable {
+                val bitmap: Bitmap? =setCreateBitmap(context,flContainer)
+                SaveLocalUtils.saveBitmap(context, bitmap, "loc" + System.currentTimeMillis() + ".png")
+                //                SaveLocalUtils.saveBmp2Gallery(
+//                        getContext(), bitmap,
+//                        "loc" + System.currentTimeMillis());
+                (context as Activity).runOnUiThread {
+                    tipDialog!!.dismiss()
+                    Toast.makeText(context, "图片已保存在手机相册下!", Toast.LENGTH_LONG).show()
+                    //Toasts.toast(context, "图片已保存在相册CANDYIMG文件夹下!");
+
+                }
+            }).start()
+
+
+//            //下载图片
+//            var tExit: Timer? = null
+//            if (!isFrist) {
+//                Toasts.toast(context, "正在保存图片,请稍候")
+//            } else {
+//                tExit = Timer()
+//                tExit.schedule(object : TimerTask() {
+//                    override fun run() {
+//                        isFrist = true
+//                    }
+//                }, 2000) // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
+//                isFrist = false
+//                if (flContainer != null) {
+//
+//                    saveBmp2Gallery(context,setCreateBitmap(context,flContainer), "loc" + System.currentTimeMillis(), "1")
+//                }
+//            }
+
+            mNormalPopup.dismiss()
+        }
+
+
+        builder.release();
+
+        val size = QMUIDisplayHelper.getScreenWidth(context)
+
+
+        val lp: FrameLayout.LayoutParams = FrameLayout.LayoutParams(size,
+                FrameLayout.LayoutParams.WRAP_CONTENT)
+        frameLayout.addView(layout, lp)
+
+        mNormalPopup.addView(frameLayout)
+        mNormalPopup.onDismiss() {
+        }
+
+        mNormalPopup.dismissIfOutsideTouch(false)
+        mNormalPopup.animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
+        mNormalPopup.show(view)
+
+
+    }
+
+
+    /**
+     * 保存到系统相册
+     */
+    @SuppressLint("WrongConstant")
+    fun saveImageToGallery(context: Context, url: String) {
+        AndPermission.with(context)
+                .runtime()
+                .permission(Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                        Manifest.permission.READ_EXTERNAL_STORAGE,
+                        Manifest.permission.CAMERA
+                )
+                .onGranted(Action<List<String?>?>
+
+                {
+                    setSaveImg(context, url)
+                }
+                ).start()
+    }
+
+    fun setSaveImg(context: Context, url: String) {
+
+        var tipDialog = QMUITipDialog.Builder(context)
+                .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+                .setTipWord("正在保存图片...")
+                .create()
+
+
+        Thread(Runnable {
+            val bitmap: Bitmap = SaveLocalUtils.returnBitMap(url)
+            SaveLocalUtils.saveBitmap(context, bitmap, "loc" + System.currentTimeMillis() + ".png")
+            //                SaveLocalUtils.saveBmp2Gallery(
+//                        getContext(), bitmap,
+//                        "loc" + System.currentTimeMillis());
+            (context as Activity).runOnUiThread {
+                tipDialog!!.dismiss()
+                Toast.makeText(context, "图片已保存在手机相册下!", Toast.LENGTH_LONG).show()
+                //Toasts.toast(context, "图片已保存在相册CANDYIMG文件夹下!");
+
+            }
+        }).start()
+    }
+
+
+    fun setShareImages(context: Context, url: String) {
+        tipDialog = QMUITipDialog.Builder(context)
+                .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+                .setTipWord("正在保存图片...")
+                .create()
+
+
+        //下载图片
+        startDownImg(url, context)
+
+    }
+
+    /**
+     * @param photoPathL 下载图片
+     */
+    private fun startDownImg(photoPathL: String, con: Context) {
+
+        //先下载图片
+        try {
+            okHttpSaveImg(photoPathL, 1, con)
+
+        } catch (e: Exception) {
+            Log.e("-shy-", "e=: " + e);
+        }
+
+    }
+
+    private fun okHttpSaveImg(imgUrl: String, position: Int, con: Context?) {
+
+
+        val filePath: String = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+            con!!.filesDir.absolutePath
+        } else {
+            getSDPath() + "/revoeye/"
+        }
+        if (con == null) {
+            // Toasts.toast(con, con.getString(R.string.action_share)+con.getString(R.string.fail)+con.getString(R.string.the_comma)+con.getString(R.string.please_share_it_later));
+            return
+        }
+        OkHttpUtils
+                .get()
+                .url(imgUrl)
+                .build() //
+                .execute(object : FileCallBack(filePath, System.currentTimeMillis().toString() + "creativity.jpg" //
+                ) {
+                    override fun onError(call: Call, e: Exception, id: Int) {
+                        if (con != null) {
+                        }
+                    }
+
+                    override fun onResponse(response: File, id: Int) {
+                        if (con != null) {
+                            if (response != null) {
+                                var mUri: Uri? = null
+                                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+                                    /**Android 7.0以上的方式 */
+                                    if (con != null) {
+                                        try {
+                                            var url = insertImageToSystem(con, response.absolutePath)
+                                            if (!TextUtils.isEmpty(url)) {
+                                                mUri = Uri.parse(url)
+                                            }
+                                        } catch (e: java.lang.Exception) {
+
+                                        }
+
+                                    } else {
+                                        return
+                                    }
+
+                                } else {
+                                    mUri = Uri.fromFile(response)
+                                }
+                                if (mUri == null) {
+                                    return
+                                }
+                                //uriArrayList.add(mUri);
+                                downimg = mUri.toString()
+                                if (uriArrayList.size > 0) {
+                                    uriArrayList.clear()
+                                }
+                                uriArrayList.add(Uri.parse(downimg))
+                                if (con != null) {
+                                    share(con)
+                                }
+                            }
+                        }
+                    }
+                })
+    }
+
+
+    private fun share(context: Context) {
+
+
+        tipDialog!!.dismiss()
+
+        if (chose == 1) { //微信好友
+            val uriToImage = Uri.parse(downimg)
+
+            //图片
+            val shareIntent = Intent()
+            //发送图片到朋友圈
+            //ComponentName comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");
+            //发送图片给好友。
+            val comp = ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI")
+            shareIntent.component = comp
+            shareIntent.action = Intent.ACTION_SEND
+            shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage)
+            shareIntent.type = "image/jpeg"
+            context.startActivity(Intent.createChooser(shareIntent, title))
+
+
+        }
+        if (chose == 2) { //微信朋友圈
+            val componentName = ComponentName("com.tencent.mm",
+                    "com.tencent.mm.ui.tools.ShareToTimeLineUI")
+            var intent = Intent()
+            intent.component = componentName
+            intent.type = "image/*"
+            if (uriArrayList.size > 1) {
+                intent.action = Intent.ACTION_SEND_MULTIPLE
+                intent.putExtra(Intent.EXTRA_STREAM, uriArrayList) //图片数据(支持本地图片的Uri形式)
+            } else if (uriArrayList.size == 1) {
+                intent.action = Intent.ACTION_SEND
+                intent.putExtra(Intent.EXTRA_STREAM, uriArrayList[0]) //图片数据(支持本地图片的Uri形式)
+            }
+            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION
+                    or Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
+            intent.putExtra("Kdescription", title)
+            intent.putExtra(Intent.EXTRA_TEXT, title) //正常使用的文字
+
+            context.startActivity(intent)
+
+
+        }
+        if (chose == 3) {//qq好友
+            //todo:分享失败
+            try {
+//                var fileUri: Uri? =null
+//                if (Build.VERSION.SDK_INT >= 24) {
+//                    fileUri = getUriForFile24(context, downimg)
+//                } else {
+//                    fileUri = Uri.fromFile(File(downimg))
+//                }
+                var fileUri: Uri? = null
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+
+                    fileUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".fileProvider", File(downimg))
+
+                } else {
+                    fileUri = Uri.fromFile(File(downimg))
+                }
+
+                val intent = Intent()
+                val comp = ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")
+                intent.component = comp
+
+                intent.action = Intent.ACTION_SEND
+                intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
+                intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
+                intent.putExtra(Intent.EXTRA_STREAM, fileUri)
+                intent.type = "image/*" //分享文件
+                context.startActivity(Intent.createChooser(intent, "分享"))
+            } catch (e: java.lang.Exception) {
+                Log.e("-shy-", "e=: $e")
+                Toast.makeText(context, "分享图片到QQ失败", Toast.LENGTH_SHORT).show()
+//            ContextUtil.getInstance().showToastMsg("分享图片到**失败");
+            }
+
+
+        }
+    }
+
+
+    fun toShareQQ(context: Context, url: String) {
+
+        try {
+
+            val bitmap: Bitmap = SaveLocalUtils.returnBitMap(url)
+            val intent = Intent()
+            val comp = ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")
+            intent.component = comp
+
+            intent.action = Intent.ACTION_SEND
+            intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
+            // intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(File(path)))
+            intent.type = "image/*" //分享文件
+
+            context.startActivity(Intent.createChooser(intent, "分享"))
+        } catch (e: java.lang.Exception) {
+            Toast.makeText(context, "分享图片到QQ失败", Toast.LENGTH_SHORT).show()
+//            ContextUtil.getInstance().showToastMsg("分享图片到**失败");
+        }
+
+    }
+
+
+    private fun insertImageToSystem(context: Context, imagePath: String): String? {
+        var url: String? = ""
+        try {
+
+            // url = MediaStore.Images.Media.insertImage(context.getContentResolver(), imagePath, SHARE_PIC_NAME, "你对图片的描述");
+            url = MediaStore.Images.Media.insertImage(context.contentResolver, imagePath, "IMG" + Calendar.getInstance().time, null)
+
+            // url = MediaStore.Images.Media.insertImage(context.contentResolver, imagePath, SHARE_PIC_NAME, "你对图片的描述")
+        } catch (e: FileNotFoundException) {
+            e.printStackTrace()
+            Log.e("shy", "Exception1=$e")
+        }
+        return url
+    }
+
+    fun getSDPath(): String? {
+        var sdDir: File? = null
+        val sdCardExist = Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED //判断sd卡是否存在
+        if (sdCardExist) {
+            sdDir = Environment.getExternalStorageDirectory() //获取跟目录
+        }
+        return sdDir.toString()
+    }
+
+    //
+    /**
+     * @param bmp 保存到相册
+     * @param picName
+     */
+    fun saveBmp2Gallery(context: Context,bmp: Bitmap?, picName: String, type: String) {
+        val appDir = File(Environment.getExternalStorageDirectory(), "CZ")
+        if (!appDir.exists()) {
+            appDir.mkdir()
+        }
+        val filePath = Environment.getExternalStorageDirectory().toString() + "/CZ/"
+        // 声明文件对象
+        var file: File? = null
+        // 声明输出流
+        try {
+            // 如果有目标文件,直接获得文件对象,否则创建一个以filename为名称的文件
+            file = File(filePath, "$picName.jpg")
+            // 获得输出流,如果文件中有内容,追加内容
+            val fos = FileOutputStream(file)
+            bmp!!.compress(Bitmap.CompressFormat.JPEG, 100, fos)
+            fos.flush()
+            fos.close()
+        } catch (e: java.lang.Exception) {
+            e.stackTrace
+        }
+
+        //通知相册更新
+//      MediaStore.Images.Media.insertImage(getContentResolver(),
+//       bmp, fileName, null);
+//        Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
+//        Uri uri = Uri.fromFile(file);
+//        intent.setData(uri);
+//       sendBroadcast(intent);
+        try {
+            uriToImage = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+                androidx.core.content.FileProvider.getUriForFile(context, context.applicationContext.packageName.toString() + ".provider",
+                        file!!)
+            } else {
+                Uri.fromFile(file)
+            }
+
+            //        if(Build.VERSION.SDK_INT >= 29){
+//            copyPrivateToDownload(this,file.getAbsolutePath(),bitName);
+//        }
+            context.sendBroadcast(Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://$uriToImage")))
+
+            if (type == "1") {
+//                Dialog.dismissProgressDialog()
+                Toasts.toast(context, "已保存到相册了")
+            } else {
+                share(context,uriToImage)
+            }
+        } catch (e: java.lang.Exception) {
+        }
+    }
+
+    private fun share(context: Context,uriToImage: Uri?) {
+        if (context == null) {
+            return
+        }
+
+        //Uri urlpath = Uri.parse(uriToImage.toString());
+
+        //file:///storage/emulated/0/revoeye/1need.jpg
+
+        if(chose==4){//分享到qq
+
+            val intent = Intent()
+            val comp = ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")
+            intent.component = comp
+
+            intent.action = Intent.ACTION_SEND
+            intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
+            intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
+            intent.putExtra(Intent.EXTRA_STREAM, uriToImage)
+            intent.type = "image/*" //分享文件
+            context.startActivity(Intent.createChooser(intent, "分享"))
+            return
+        }
+
+        val shareIntent = Intent()
+        var  comp:ComponentName?=null
+        if(chose==2){
+            //发送图片给好友
+             comp = ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI")
+
+        }else{
+            //发送图片到朋友圈
+             comp = ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");
+
+        }
+        shareIntent.component = comp
+        shareIntent.action = Intent.ACTION_SEND
+        shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage)
+        shareIntent.type = "image/jpeg"
+        if (context != null) {
+           // Dialog.dismissProgressDialog()
+            (context as Activity).startActivity(Intent.createChooser(shareIntent, title))
+        }
+    }
+
+    /*--------*/
+    /**
+     * 将view转成bitmap
+     */
+    fun setCreateBitmap(context: Context,v: View): Bitmap? {
+//        if ( context!= null) {
+//            Dialog.showProgressingDialog(getContext(), getString(R.string.save) + getString(R.string.picture) + getString(R.string.province_luo))
+//        }
+        val bitmap = Bitmap.createBitmap(v.width, v.height,
+                Bitmap.Config.ARGB_8888)
+        val canvas = Canvas(bitmap)
+        v.draw(canvas)
+        return bitmap
+    }
+
+
+    fun setChose(context: Context,flContainer:FrameLayout,type:String){
+        //分享图片
+        if (WeChatUtil.isWeixinAvilible(context)) {
+            //进行微信的分享
+            var tExit: Timer? = null
+            if (!isFristo) {
+                Toasts.toast(context, "正在保存图片,请稍候")
+            } else {
+                tExit = Timer()
+                tExit.schedule(object : TimerTask() {
+                    override fun run() {
+                        isFristo = true
+                    }
+                }, 2000) // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
+                isFristo = false
+                if (uriToImage != null) {
+                    share(context,uriToImage)
+                } else {
+                    if (flContainer != null) {
+                        saveBmp2Gallery(context,setCreateBitmap(context,flContainer), "loc" + System.currentTimeMillis(), type)
+                    }
+                }
+            }
+        } else {
+            Toast.makeText(context,"您未安装微信或微信版本过低,无法分享",Toast.LENGTH_SHORT).show()
+            val uri = Uri.parse("market://details?id=com.tencent.mm")
+            val it = Intent(Intent.ACTION_VIEW, uri)
+            ( context as Activity).startActivity(it)
+        }
+
+    }
+
+
+    fun setChoseQQ(context: Context,flContainer:FrameLayout,type:String){
+        //分享图片
+        if (QqUtils.isQQInstall(context)) {
+            //进行微信的分享
+            var tExit: Timer? = null
+            if (!isFristo) {
+                Toasts.toast(context, "正在保存图片,请稍候")
+            } else {
+                tExit = Timer()
+                tExit.schedule(object : TimerTask() {
+                    override fun run() {
+                        isFristo = true
+                    }
+                }, 2000) // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
+                isFristo = false
+                if (uriToImage != null) {
+                    share(context,uriToImage)
+                } else {
+                    if (flContainer != null) {
+                        saveBmp2Gallery(context,setCreateBitmap(context,flContainer), "loc" + System.currentTimeMillis(), type)
+                    }
+                }
+            }
+        } else {
+            Toast.makeText(context,"您未安装微信或微信版本过低,无法分享",Toast.LENGTH_SHORT).show()
+            val uri = Uri.parse("market://details?id=com.tencent.mm")
+            val it = Intent(Intent.ACTION_VIEW, uri)
+            ( context as Activity).startActivity(it)
+        }
+
+    }
+
+}

+ 63 - 57
app/src/main/java/com/zswc/creativity/utils/PopuShareWxUtils.kt

@@ -3,10 +3,7 @@ package com.zswc.creativity.utils
 import android.Manifest
 import android.annotation.SuppressLint
 import android.app.Activity
-import android.content.ComponentName
-import android.content.ContentResolver
-import android.content.Context
-import android.content.Intent
+import android.content.*
 import android.graphics.Bitmap
 import android.net.Uri
 import android.os.Build
@@ -16,10 +13,10 @@ import android.text.TextUtils
 import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
-import android.widget.FrameLayout
-import android.widget.ImageView
-import android.widget.Toast
+import android.widget.*
+import androidx.appcompat.widget.AppCompatImageView
 import coil.load
+import coil.transform.RoundedCornersTransformation
 import com.qmuiteam.qmui.kotlin.onClick
 import com.qmuiteam.qmui.layout.QMUIFrameLayout
 import com.qmuiteam.qmui.skin.QMUISkinValueBuilder
@@ -43,20 +40,20 @@ import java.util.*
 
 
 /**
- * 分享
+ * 分享-网络地址url的分享
  *Created by shihuiyun
  *on 2020/9/21
  */
-object  PopuShareWxUtils {
+object PopuShareWxUtils {
 
     var chose = 1
     private const val title = "分享"
     var tipDialog: QMUITipDialog? = null
     private var downimg: String? = null
     private val uriArrayList = ArrayList<Uri>() //下载到本地的图片的集合
-    var cr:ContentResolver?=null
-    fun show(context: Context, url: String, view: View, contentResolver: ContentResolver){
-        cr=contentResolver
+    var cr: ContentResolver? = null
+    fun show(context: Context, url: String, view: View, contentResolver: ContentResolver) {
+        cr = contentResolver
         var mNormalPopup = QMUIPopups.fullScreenPopup(context)
         val builder: QMUISkinValueBuilder = QMUISkinValueBuilder.acquire()
         val frameLayout = QMUIFrameLayout(context)
@@ -64,26 +61,33 @@ object  PopuShareWxUtils {
         val layoutInflater = context?.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
         var layout = layoutInflater.inflate(R.layout.item_wx_share, null)
 
-        val img: QMUIRadiusImageView =layout.findViewById(R.id.img)
-        val ivShareOne:ImageView=layout.findViewById(R.id.iv_share_one)
-        val ivShareTwo:ImageView=layout.findViewById(R.id.iv_share_two)
-        val ivShareThree:ImageView=layout.findViewById(R.id.iv_share_three)
-        val ivSave:ImageView=layout.findViewById(R.id.iv_save)
-        val ivClose:ImageView=layout.findViewById(R.id.iv_close)
+        val img: AppCompatImageView = layout.findViewById(R.id.img)
+        val llShareOne: LinearLayout = layout.findViewById(R.id.ll_share_one)
+        val llWx: LinearLayout = layout.findViewById(R.id.ll_wx)
+        val ivShareThree: ImageView = layout.findViewById(R.id.iv_share_three)
+        val llSave: LinearLayout = layout.findViewById(R.id.ll_save)
+        val llLink: LinearLayout = layout.findViewById(R.id.ll_link)
+        val tvClose: TextView = layout.findViewById(R.id.tv_close)
 
-        val params = img.getLayoutParams()
+
+        val params = img.layoutParams
 
         val display = (context as Activity).windowManager.defaultDisplay
         val screenWidth = display.width
         params.width = screenWidth - UiUtils.dp2Px(context, 60f)
-        params.height = (((screenWidth - UiUtils.dp2Px(context, 60f)) * 1.6).toInt())
-     //   params.height=screenWidth - UiUtils.dp2Px(context, 60f)
+        //params.height = (((screenWidth - UiUtils.dp2Px(context, 60f)) * 1.6).toInt())
+        params.height=screenWidth - UiUtils.dp2Px(context, 60f)
 
         img.layoutParams = params
 
-        img.load(url)
+        img.load(url){
+            transformations(RoundedCornersTransformation(15f))
+            placeholder(R.drawable.bg_need_error)
+            error(R.drawable.bg_need_error)
+        }
+
 
-        ivShareOne.onClick{
+        llShareOne.onClick {
             //分享给好友
             chose = 1
             setShareImages(context, url)
@@ -91,7 +95,17 @@ object  PopuShareWxUtils {
 
 
         }
-        ivShareTwo.onClick{
+        llLink.onClick {
+            //复制图片链接到粘贴板
+
+            val cm: ClipboardManager? = context?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager?
+            val mClipData = ClipData.newPlainText("Label", url)
+            cm?.setPrimaryClip(mClipData)
+            Toast.makeText(context, "文字已复制到粘贴板", Toast.LENGTH_SHORT).show()
+            mNormalPopup.dismiss()
+        }
+
+        llWx.onClick {
 
             //分享给朋友圈
             chose = 2
@@ -101,17 +115,17 @@ object  PopuShareWxUtils {
         }
         ivShareThree.onClick {
             //分享到QQ
-           // toShareQQ(context,url)
+            // toShareQQ(context,url)
             chose = 3
             setShareImages(context, url)
             mNormalPopup.dismiss()
         }
 
-        ivClose.onClick {
+        tvClose.onClick {
             mNormalPopup.dismiss()
         }
 
-        ivSave.onClick {
+        llSave.onClick {
 
             //保存图片到本地
             saveImageToGallery(context, url)
@@ -122,7 +136,7 @@ object  PopuShareWxUtils {
 
         builder.release();
 
-        val size= QMUIDisplayHelper.getScreenWidth(context)
+        val size = QMUIDisplayHelper.getScreenWidth(context)
 
 
         val lp: FrameLayout.LayoutParams = FrameLayout.LayoutParams(size,
@@ -205,8 +219,8 @@ object  PopuShareWxUtils {
         try {
             okHttpSaveImg(photoPathL, 1, con)
 
-        }catch (e:Exception){
-            Log.e("-shy-", "e=: "+e );
+        } catch (e: Exception) {
+            Log.e("-shy-", "e=: " + e);
         }
 
     }
@@ -237,16 +251,16 @@ object  PopuShareWxUtils {
                     override fun onResponse(response: File, id: Int) {
                         if (con != null) {
                             if (response != null) {
-                                var mUri: Uri? =null
-                                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
+                                var mUri: Uri? = null
+                                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                                     /**Android 7.0以上的方式 */
                                     if (con != null) {
                                         try {
-                                            var  url=insertImageToSystem(con, response.absolutePath)
-                                            if(!TextUtils.isEmpty(url)){
-                                                mUri= Uri.parse(url)
+                                            var url = insertImageToSystem(con, response.absolutePath)
+                                            if (!TextUtils.isEmpty(url)) {
+                                                mUri = Uri.parse(url)
                                             }
-                                        }catch (e:java.lang.Exception){
+                                        } catch (e: java.lang.Exception) {
 
                                         }
 
@@ -254,13 +268,13 @@ object  PopuShareWxUtils {
                                         return
                                     }
 
-                                }else{
-                                    mUri=Uri.fromFile(response)
+                                } else {
+                                    mUri = Uri.fromFile(response)
                                 }
-                                if(mUri==null){
+                                if (mUri == null) {
                                     return
                                 }
-                               //uriArrayList.add(mUri);
+                                //uriArrayList.add(mUri);
                                 downimg = mUri.toString()
                                 if (uriArrayList.size > 0) {
                                     uriArrayList.clear()
@@ -320,7 +334,7 @@ object  PopuShareWxUtils {
 
 
         }
-        if(chose==3){//qq好友
+        if (chose == 3) {//qq好友
             //todo:分享失败
             try {
 //                var fileUri: Uri? =null
@@ -329,13 +343,13 @@ object  PopuShareWxUtils {
 //                } else {
 //                    fileUri = Uri.fromFile(File(downimg))
 //                }
-                var fileUri: Uri? =null
+                var fileUri: Uri? = null
                 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
 
                     fileUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".fileProvider", File(downimg))
 
-                }else{
-                    fileUri=Uri.fromFile(File(downimg))
+                } else {
+                    fileUri = Uri.fromFile(File(downimg))
                 }
 
                 val intent = Intent()
@@ -350,21 +364,16 @@ object  PopuShareWxUtils {
                 context.startActivity(Intent.createChooser(intent, "分享"))
             } catch (e: java.lang.Exception) {
                 Log.e("-shy-", "e=: $e")
-                Toast.makeText(context,"分享图片到QQ失败",Toast.LENGTH_SHORT).show()
+                Toast.makeText(context, "分享图片到QQ失败", Toast.LENGTH_SHORT).show()
 //            ContextUtil.getInstance().showToastMsg("分享图片到**失败");
             }
 
 
-
         }
     }
 
 
-
-
-
-
-    fun  toShareQQ(context:Context,url:String){
+    fun toShareQQ(context: Context, url: String) {
 
         try {
 
@@ -375,20 +384,18 @@ object  PopuShareWxUtils {
 
             intent.action = Intent.ACTION_SEND
             intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
-           // intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(File(path)))
+            // intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(File(path)))
             intent.type = "image/*" //分享文件
 
             context.startActivity(Intent.createChooser(intent, "分享"))
         } catch (e: java.lang.Exception) {
-            Toast.makeText(context,"分享图片到QQ失败",Toast.LENGTH_SHORT).show()
+            Toast.makeText(context, "分享图片到QQ失败", Toast.LENGTH_SHORT).show()
 //            ContextUtil.getInstance().showToastMsg("分享图片到**失败");
         }
 
     }
 
 
-
-
     private fun insertImageToSystem(context: Context, imagePath: String): String? {
         var url: String? = ""
         try {
@@ -396,7 +403,7 @@ object  PopuShareWxUtils {
             // url = MediaStore.Images.Media.insertImage(context.getContentResolver(), imagePath, SHARE_PIC_NAME, "你对图片的描述");
             url = MediaStore.Images.Media.insertImage(context.contentResolver, imagePath, "IMG" + Calendar.getInstance().time, null)
 
-           // url = MediaStore.Images.Media.insertImage(context.contentResolver, imagePath, SHARE_PIC_NAME, "你对图片的描述")
+            // url = MediaStore.Images.Media.insertImage(context.contentResolver, imagePath, SHARE_PIC_NAME, "你对图片的描述")
         } catch (e: FileNotFoundException) {
             e.printStackTrace()
             Log.e("shy", "Exception1=$e")
@@ -414,5 +421,4 @@ object  PopuShareWxUtils {
     }
 
 
-
 }

+ 34 - 0
app/src/main/java/com/zswc/creativity/utils/QqUtils.kt

@@ -0,0 +1,34 @@
+package com.zswc.creativity.utils
+
+import android.content.Context
+import android.content.pm.PackageInfo
+
+/**
+ *on 2022/7/27
+ */
+class QqUtils {
+
+    companion object {
+
+
+
+
+        fun isQQInstall(context: Context): Boolean {
+            var packageManager = context.packageManager
+            var pinfo = packageManager.getInstalledPackages(0) as List<PackageInfo>
+            if (pinfo != null) {
+                for ((i, item) in pinfo.withIndex()) {
+                    var pn = pinfo[i].packageName
+                    if (pn.equals("com.tencent.mobileqq")) {
+                        return true
+                    }
+                }
+            }
+
+             return false
+        }
+
+
+
+    }
+}

+ 1 - 1
app/src/main/java/com/zswc/creativity/utils/WeChatUtil.kt

@@ -4,6 +4,7 @@ import android.content.BroadcastReceiver
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
+import android.content.pm.PackageInfo
 import com.tencent.mm.opensdk.constants.ConstantsAPI
 import com.tencent.mm.opensdk.modelmsg.SendAuth
 import com.tencent.mm.opensdk.modelpay.PayReq
@@ -123,7 +124,6 @@ import com.zswc.creativity.model.OrderPay
 
 
 
-
     }
 
 }

+ 45 - 0
app/src/main/java/com/zswc/creativity/view/MyScrollView.java

@@ -0,0 +1,45 @@
+package com.zswc.creativity.view;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.ScrollView;
+
+
+/**
+ * Created by Shi on 2018/1/27.
+ */
+
+public class MyScrollView extends ScrollView {
+
+
+    public MyScrollView(Context context) {
+        super(context);
+    }
+
+    public MyScrollView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public MyScrollView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    public interface OnScrollChangedListener {
+        public void onScrollChanged(int x, int y, int oldX, int oldY);
+    }
+
+    private OnScrollChangedListener onScrollChangedListener;
+
+    public void setOnScrollListener(OnScrollChangedListener onScrollChangedListener) {
+        this.onScrollChangedListener = onScrollChangedListener;
+    }
+
+    @Override
+    protected void onScrollChanged(int x, int y, int oldX, int oldY) {
+        super.onScrollChanged(x, y, oldX, oldY);
+        if (onScrollChangedListener != null) {
+            onScrollChangedListener.onScrollChanged(x, y, oldX, oldY);
+        }
+    }
+
+}

+ 5 - 2
app/src/main/java/com/zswc/creativity/vmodel/TibetanDetailsVModel.kt

@@ -11,6 +11,7 @@ import com.ysnows.base.base.BRepository
 import com.ysnows.base.base.BViewModel
 import com.zswc.creativity.model.TibetaDetails
 import com.zswc.creativity.utils.PopuBuyUtils
+import com.zswc.creativity.utils.PopuDownWxUtils
 import com.zswc.creativity.utils.PopuShareWxUtils
 import com.zswc.creativity.utils.net.NetEngine
 import kotlinx.coroutines.launch
@@ -58,7 +59,7 @@ class TibetanDetailsVModel(application: Application) : BViewModel<BRepository>(a
 //        }
 
         //测试
-        toShareCode("https://img.chuangchi.vip/nft/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20220704134149.jpg20220704014839.jpg?time=1658644985996")
+        toShareCode(data.value?.cover)
     }
 
 
@@ -67,7 +68,9 @@ class TibetanDetailsVModel(application: Application) : BViewModel<BRepository>(a
             return
         }
 
-        PopuShareWxUtils.show(repository().context!!, shareUrl!!, ll!!,repository().context!!.contentResolver)
+        PopuDownWxUtils.show(repository().context!!, shareUrl!!,data.value?.name,data.value?.auth_name,data.value?.id, ll!!,repository().context!!.contentResolver)
+
+       // PopuShareWxUtils.show(repository().context!!, shareUrl!!, ll!!,repository().context!!.contentResolver)
     }
 
 

BIN
app/src/main/res/drawable-xxhdpi/share_friends.png


BIN
app/src/main/res/drawable-xxhdpi/share_friends.webp


BIN
app/src/main/res/drawable-xxhdpi/share_link.png


BIN
app/src/main/res/drawable-xxhdpi/share_save.png


BIN
app/src/main/res/drawable-xxhdpi/share_wx.png


BIN
app/src/main/res/drawable-xxhdpi/share_wx.webp


+ 11 - 0
app/src/main/res/drawable/bg_share_white.xml

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

+ 435 - 353
app/src/main/res/layout/activity_tibetan_details.xml

@@ -20,465 +20,549 @@
         android:background="@color/white"
         android:orientation="vertical">
 
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="20dp"
-            android:orientation="horizontal"
-            android:paddingBottom="10dp">
-
-            <ImageView
-                android:onClick="@{v->vm.toClose()}"
-                android:layout_width="38dp"
-                android:layout_height="20dp"
-                android:paddingLeft="20dp"
-                android:src="@drawable/ic_back_black" />
-
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="14dp"
-                android:layout_weight="1"
-                android:gravity="center_horizontal"
-                android:text="臧品详情"
-                android:textColor="@color/text_title"
-                android:textSize="18sp"
-                android:textStyle="bold" />
-
-            <ImageView
-                android:id="@+id/img_share"
-                android:layout_width="28dp"
-                android:layout_height="20dp"
-                android:layout_marginEnd="16dp"
-                android:src="@drawable/ct_share" />
-
-        </LinearLayout>
-
-        <androidx.core.widget.NestedScrollView
+        <FrameLayout
             android:layout_width="match_parent"
             android:layout_height="0dp"
-            android:layout_weight="1"
-            android:scrollbars="none">
-
+            android:layout_weight="1">
 
-            <FrameLayout
+            <com.zswc.creativity.view.MyScrollView
+                android:id="@+id/scroll"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                android:orientation="vertical">
+                android:scrollbars="none">
+
 
                 <FrameLayout
                     android:layout_width="match_parent"
-                    android:layout_height="wrap_content">
-
+                    android:layout_height="match_parent"
+                    android:orientation="vertical">
 
-                    <ImageView
-                        android:id="@+id/image_gif_view"
+                    <FrameLayout
                         android:layout_width="match_parent"
-                        android:layout_height="360dp"
-                        android:src="@drawable/bg_need_error" />
+                        android:layout_height="wrap_content">
 
-                    <ImageView
-                        android:id="@+id/image_view"
-                        android:layout_width="match_parent"
-                        android:layout_height="360dp"
-                        android:scaleType="centerCrop"
-                        android:background="@drawable/bg_need_error"
-                         />
 
-                </FrameLayout>
+                        <ImageView
+                            android:id="@+id/image_gif_view"
+                            android:layout_width="match_parent"
+                            android:layout_height="360dp"
+                            android:src="@drawable/bg_need_error" />
 
-                <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="336dp"
-                    android:orientation="vertical"
-                    app:qmui_backgroundColor="@color/white"
-                    app:qmui_borderColor="@color/translucent"
-                    app:qmui_radius="16dp">
+                        <ImageView
+                            android:id="@+id/image_view"
+                            android:layout_width="match_parent"
+                            android:layout_height="360dp"
+                            android:background="@drawable/bg_need_error"
+                            android:scaleType="centerCrop" />
 
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_horizontal"
-                        android:layout_marginTop="8dp"
-                        android:text="@{vm.data.name}"
-                        android:textColor="#141414"
-                        android:textSize="22sp"
-                        android:textStyle="bold" />
+                    </FrameLayout>
 
-                    <LinearLayout
-                        android:layout_width="wrap_content"
+                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:layout_gravity="center_horizontal"
-                        android:layout_marginTop="5dp">
+                        android:layout_marginTop="336dp"
+                        android:orientation="vertical"
+                        app:qmui_backgroundColor="@color/white"
+                        app:qmui_borderColor="@color/translucent"
+                        app:qmui_radius="16dp">
 
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:background="#38D3D3"
-                            android:paddingStart="9dp"
-                            android:paddingTop="2dp"
-                            android:paddingEnd="9dp"
-                            android:paddingBottom="2dp"
-                            android:text="限量"
-                            android:textColor="@color/white"
-                            android:textSize="@dimen/dp_11" />
+                            android:layout_gravity="center_horizontal"
+                            android:layout_marginTop="8dp"
+                            android:text="@{vm.data.name}"
+                            android:textColor="#141414"
+                            android:textSize="22sp"
+                            android:textStyle="bold" />
 
-                        <TextView
+                        <LinearLayout
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:background="@drawable/bg_kuang_blue"
-                            android:hint="100份"
-                            android:paddingStart="9dp"
-                            android:paddingTop="2dp"
-                            android:paddingEnd="9dp"
-                            android:paddingBottom="2dp"
-                            android:text="@{vm.data.inventory+`份`}"
-                            android:textColor="#54D7E9"
-                            android:textColorHint="#54D7E9"
-                            android:textSize="@dimen/dp_11" />
+                            android:layout_gravity="center_horizontal"
+                            android:layout_marginTop="5dp">
 
-                    </LinearLayout>
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="#38D3D3"
+                                android:paddingStart="9dp"
+                                android:paddingTop="2dp"
+                                android:paddingEnd="9dp"
+                                android:paddingBottom="2dp"
+                                android:text="限量"
+                                android:textColor="@color/white"
+                                android:textSize="@dimen/dp_11" />
 
-                    <LinearLayout
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="15dp"
-                        android:layout_marginTop="11dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@drawable/bg_kuang_blue"
+                                android:hint="100份"
+                                android:paddingStart="9dp"
+                                android:paddingTop="2dp"
+                                android:paddingEnd="9dp"
+                                android:paddingBottom="2dp"
+                                android:text="@{vm.data.inventory+`份`}"
+                                android:textColor="#54D7E9"
+                                android:textColorHint="#54D7E9"
+                                android:textSize="@dimen/dp_11" />
 
-                        <View
-                            android:layout_width="4dp"
-                            android:layout_height="14dp"
-                            android:background="@drawable/bg_chose_line" />
+                        </LinearLayout>
 
-                        <TextView
+                        <LinearLayout
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_marginStart="4dp"
-                            android:text="认证信息"
-                            android:textColor="#222222"
-                            android:textSize="16sp"
-                            android:textStyle="bold" />
+                            android:layout_marginStart="15dp"
+                            android:layout_marginTop="11dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
 
+                            <View
+                                android:layout_width="4dp"
+                                android:layout_height="14dp"
+                                android:background="@drawable/bg_chose_line" />
 
-                    </LinearLayout>
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="4dp"
+                                android:text="认证信息"
+                                android:textColor="#222222"
+                                android:textSize="16sp"
+                                android:textStyle="bold" />
 
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="15dp"
-                        android:layout_marginTop="8dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
 
-                        <TextView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:text="区块链"
-                            android:textColor="#333333"
-                            android:textSize="12sp" />
+                        </LinearLayout>
 
-                        <TextView
+                        <LinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginEnd="14dp"
-                            android:gravity="right"
-                            android:text="蚂蚁链LASH"
-                            android:textColor="#333333"
-                            android:textSize="12sp" />
+                            android:layout_marginStart="15dp"
+                            android:layout_marginTop="8dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
 
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="区块链"
+                                android:textColor="#333333"
+                                android:textSize="12sp" />
 
-                    </LinearLayout>
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginEnd="14dp"
+                                android:gravity="right"
+                                android:text="蚂蚁链LASH"
+                                android:textColor="#333333"
+                                android:textSize="12sp" />
 
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="15dp"
-                        android:layout_marginTop="8dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal"
-                        android:visibility="gone"
-                        tools:visibility="visible">
 
-                        <TextView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:text="合约地址"
-                            android:textColor="#333333"
-                            android:textSize="12sp" />
+                        </LinearLayout>
 
-                        <TextView
-                            android:layout_width="0dp"
+                        <LinearLayout
+                            android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginStart="12dp"
-                            android:layout_marginEnd="6dp"
-                            android:layout_weight="1"
-                            android:gravity="right"
-                            android:text="蚂蚁链LASH"
-                            android:textColor="#333333"
-                            android:textSize="12sp" />
+                            android:layout_marginStart="15dp"
+                            android:layout_marginTop="8dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal"
+                            android:visibility="gone"
+                            tools:visibility="visible">
 
-                        <ImageView
-                            android:layout_width="17dp"
-                            android:layout_height="17dp"
-                            android:layout_marginEnd="14dp"
-                            android:src="@drawable/ct_copy" />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="合约地址"
+                                android:textColor="#333333"
+                                android:textSize="12sp" />
 
+                            <TextView
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:layout_marginEnd="6dp"
+                                android:layout_weight="1"
+                                android:gravity="right"
+                                android:text="蚂蚁链LASH"
+                                android:textColor="#333333"
+                                android:textSize="12sp" />
 
-                    </LinearLayout>
+                            <ImageView
+                                android:layout_width="17dp"
+                                android:layout_height="17dp"
+                                android:layout_marginEnd="14dp"
+                                android:src="@drawable/ct_copy" />
 
-                    <LinearLayout
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="15dp"
-                        android:layout_marginTop="11dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
 
-                        <View
-                            android:layout_width="4dp"
-                            android:layout_height="14dp"
-                            android:background="@drawable/bg_chose_line" />
+                        </LinearLayout>
 
-                        <TextView
+                        <LinearLayout
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_marginStart="4dp"
-                            android:text="藏品描述"
-                            android:textColor="#222222"
-                            android:textSize="16sp"
-                            android:textStyle="bold" />
-
+                            android:layout_marginStart="15dp"
+                            android:layout_marginTop="11dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
 
-                    </LinearLayout>
+                            <View
+                                android:layout_width="4dp"
+                                android:layout_height="14dp"
+                                android:background="@drawable/bg_chose_line" />
 
-                    <com.qmuiteam.qmui.widget.QMUIRadiusImageView
-                        android:id="@+id/img_deatils"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="15dp"
-                        android:layout_marginTop="10dp"
-                        android:layout_marginEnd="15dp"
-                        android:src="@drawable/bg_need_error"
-                        app:qmui_border_color="@color/translucent" />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="4dp"
+                                android:text="藏品描述"
+                                android:textColor="#222222"
+                                android:textSize="16sp"
+                                android:textStyle="bold" />
 
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="15dp"
-                        android:layout_marginTop="14dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
 
-                        <TextView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:text="发行方"
-                            android:textColor="#333333"
-                            android:textSize="13sp" />
+                        </LinearLayout>
 
-                        <TextView
+                        <androidx.appcompat.widget.AppCompatImageView
+                            android:id="@+id/img_deatils"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginEnd="14dp"
-                            android:gravity="right"
-                            android:text="@{vm.data.issuer}"
-                            android:textColor="#333333"
-                            android:textSize="13sp" />
-
-
-                    </LinearLayout>
+                            android:layout_marginStart="15dp"
+                            android:layout_marginTop="10dp"
+                            android:layout_marginEnd="15dp"
+                            android:adjustViewBounds="true"
+                            android:scaleType="fitXY"
+                            android:src="@drawable/bg_need_error" />
 
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="15dp"
-                        android:layout_marginTop="14dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
-
-                        <TextView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:text="发行时间"
-                            android:textColor="#333333"
-                            android:textSize="13sp" />
-
-                        <TextView
+                        <LinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginEnd="14dp"
-                            android:gravity="right"
-                            android:text="@{vm.data.sell_time}"
-                            android:textColor="#333333"
-                            android:textSize="13sp" />
+                            android:layout_marginStart="15dp"
+                            android:layout_marginTop="14dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
 
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="发行方"
+                                android:textColor="#333333"
+                                android:textSize="13sp" />
 
-                    </LinearLayout>
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginEnd="14dp"
+                                android:gravity="right"
+                                android:text="@{vm.data.issuer}"
+                                android:textColor="#333333"
+                                android:textSize="13sp" />
 
-                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:orientation="vertical"
-                        android:paddingStart="10dp"
-                        android:paddingTop="10dp"
-                        android:paddingEnd="10dp"
-                        android:paddingBottom="6dp"
-                        app:qmui_backgroundColor="#F1F9F9"
-                        app:qmui_borderColor="@color/translucent"
-                        app:qmui_radius="8dp">
+
+                        </LinearLayout>
 
                         <LinearLayout
-                            android:layout_width="wrap_content"
+                            android:layout_width="match_parent"
                             android:layout_height="wrap_content"
+                            android:layout_marginStart="15dp"
+                            android:layout_marginTop="14dp"
                             android:gravity="center_vertical"
                             android:orientation="horizontal">
 
-                            <View
-                                android:layout_width="4dp"
-                                android:layout_height="14dp"
-                                android:background="@drawable/bg_chose_line" />
-
                             <TextView
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
-                                android:layout_marginStart="4dp"
-                                android:text="藏品简介"
-                                android:textColor="#222222"
-                                android:textSize="16sp"
-                                android:textStyle="bold" />
+                                android:text="发行时间"
+                                android:textColor="#333333"
+                                android:textSize="13sp" />
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginEnd="14dp"
+                                android:gravity="right"
+                                android:text="@{vm.data.sell_time}"
+                                android:textColor="#333333"
+                                android:textSize="13sp" />
 
 
                         </LinearLayout>
 
-                        <TextView
+                        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="6dp"
-                            android:text="@{vm.data.instructions}"
-                            android:textColor="#B5B5B5"
-                            android:textSize="11sp" />
+                            android:orientation="vertical"
+                            android:paddingStart="10dp"
+                            android:paddingTop="10dp"
+                            android:paddingEnd="10dp"
+                            android:paddingBottom="6dp"
+                            app:qmui_backgroundColor="#F1F9F9"
+                            app:qmui_borderColor="@color/translucent"
+                            app:qmui_radius="8dp">
+
+                            <LinearLayout
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:gravity="center_vertical"
+                                android:orientation="horizontal">
 
+                                <View
+                                    android:layout_width="4dp"
+                                    android:layout_height="14dp"
+                                    android:background="@drawable/bg_chose_line" />
 
-                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+                                <TextView
+                                    android:layout_width="wrap_content"
+                                    android:layout_height="wrap_content"
+                                    android:layout_marginStart="4dp"
+                                    android:text="藏品简介"
+                                    android:textColor="#222222"
+                                    android:textSize="16sp"
+                                    android:textStyle="bold" />
 
 
-                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="16dp"
-                        android:orientation="vertical"
-                        android:paddingStart="10dp"
-                        android:paddingTop="10dp"
-                        android:paddingEnd="10dp"
-                        android:paddingBottom="6dp"
-                        app:qmui_backgroundColor="#F1F9F9"
-                        app:qmui_borderColor="@color/translucent"
-                        app:qmui_radius="8dp">
+                            </LinearLayout>
 
-                        <LinearLayout
-                            android:layout_width="wrap_content"
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="6dp"
+                                android:text="@{vm.data.instructions}"
+                                android:textColor="#B5B5B5"
+                                android:textSize="11sp" />
+
+
+                        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+                        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                            android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:gravity="center_vertical"
-                            android:orientation="horizontal">
+                            android:layout_marginTop="16dp"
+                            android:orientation="vertical"
+                            android:paddingStart="10dp"
+                            android:paddingTop="10dp"
+                            android:paddingEnd="10dp"
+                            android:paddingBottom="6dp"
+                            app:qmui_backgroundColor="#F1F9F9"
+                            app:qmui_borderColor="@color/translucent"
+                            app:qmui_radius="8dp">
+
+                            <LinearLayout
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:gravity="center_vertical"
+                                android:orientation="horizontal">
 
-                            <View
-                                android:layout_width="4dp"
-                                android:layout_height="14dp"
-                                android:background="@drawable/bg_chose_line" />
+                                <View
+                                    android:layout_width="4dp"
+                                    android:layout_height="14dp"
+                                    android:background="@drawable/bg_chose_line" />
+
+                                <TextView
+                                    android:layout_width="wrap_content"
+                                    android:layout_height="wrap_content"
+                                    android:layout_marginStart="4dp"
+                                    android:text="购买须知"
+                                    android:textColor="#222222"
+                                    android:textSize="16sp"
+                                    android:textStyle="bold" />
+
+
+                            </LinearLayout>
 
                             <TextView
-                                android:layout_width="wrap_content"
+                                android:layout_width="match_parent"
                                 android:layout_height="wrap_content"
-                                android:layout_marginStart="4dp"
-                                android:text="购买须知"
-                                android:textColor="#222222"
-                                android:textSize="16sp"
-                                android:textStyle="bold" />
+                                android:layout_marginTop="6dp"
+                                android:text="@{vm.data.buy_notice}"
+                                android:textColor="#B5B5B5"
+                                android:textSize="11sp" />
 
 
-                        </LinearLayout>
+                        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
 
-                        <TextView
+
+                        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="6dp"
-                            android:text="@{vm.data.buy_notice}"
-                            android:textColor="#B5B5B5"
-                            android:textSize="11sp" />
+                            android:layout_marginTop="16dp"
+                            android:orientation="vertical"
+                            android:paddingStart="10dp"
+                            android:paddingTop="10dp"
+                            android:paddingEnd="10dp"
+                            android:paddingBottom="6dp"
+                            app:qmui_backgroundColor="#F1F9F9"
+                            app:qmui_borderColor="@color/translucent"
+                            app:qmui_radius="8dp">
+
+                            <LinearLayout
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:gravity="center_vertical"
+                                android:orientation="horizontal">
 
+                                <View
+                                    android:layout_width="4dp"
+                                    android:layout_height="14dp"
+                                    android:background="@drawable/bg_chose_line" />
 
-                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+                                <TextView
+                                    android:layout_width="wrap_content"
+                                    android:layout_height="wrap_content"
+                                    android:layout_marginStart="4dp"
+                                    android:text="温馨提示"
+                                    android:textColor="#222222"
+                                    android:textSize="16sp"
+                                    android:textStyle="bold" />
 
 
-                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                            </LinearLayout>
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="6dp"
+                                android:text="@{vm.data.warm_prompt}"
+                                android:textColor="#B5B5B5"
+
+                                android:textSize="11sp" />
+
+
+                        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+                        <View
+                            android:layout_width="match_parent"
+                            android:layout_height="@dimen/dp_20" />
+
+                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/ll_show_one"
                         android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="16dp"
                         android:orientation="vertical"
-                        android:paddingStart="10dp"
-                        android:paddingTop="10dp"
-                        android:paddingEnd="10dp"
-                        android:paddingBottom="6dp"
-                        app:qmui_backgroundColor="#F1F9F9"
-                        app:qmui_borderColor="@color/translucent"
-                        app:qmui_radius="8dp">
-
+                        android:layout_height="wrap_content">
                         <LinearLayout
-                            android:layout_width="wrap_content"
+                            android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:gravity="center_vertical"
-                            android:orientation="horizontal">
-
-                            <View
-                                android:layout_width="4dp"
-                                android:layout_height="14dp"
-                                android:background="@drawable/bg_chose_line" />
+                            android:orientation="vertical">
 
                             <TextView
+                                android:id="@+id/tv"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
-                                android:layout_marginStart="4dp"
-                                android:text="温馨提示"
-                                android:textColor="#222222"
-                                android:textSize="16sp"
-                                android:textStyle="bold" />
-
+                                android:visibility="gone" />
 
                         </LinearLayout>
-
-                        <TextView
+                        <LinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="6dp"
-                            android:text="@{vm.data.warm_prompt}"
-                            android:textColor="#B5B5B5"
+                            android:orientation="horizontal"
+                            android:paddingTop="10dp"
+                            android:paddingBottom="10dp">
+
+                            <ImageView
+                                android:layout_width="28dp"
+                                android:layout_height="28dp"
+                                android:layout_marginStart="16dp"
+                                android:onClick="@{v->vm.toClose()}"
+                                android:src="@drawable/ct_tib_back" />
 
-                            android:textSize="11sp" />
+                            <View
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_weight="1" />
 
 
-                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+                            <ImageView
+                                android:id="@+id/img_share_to"
+                                android:layout_width="28dp"
+                                android:layout_height="28dp"
+                                android:layout_marginEnd="16dp"
+                                android:src="@drawable/ct_tib_share" />
 
+                        </LinearLayout>
 
-                    <View
-                        android:layout_width="match_parent"
-                        android:layout_height="@dimen/dp_20" />
+                    </LinearLayout>
+
+
+
+                </FrameLayout>
+
+            </com.zswc.creativity.view.MyScrollView>
+            <!--             滑动时候显示的   -->
+
+
+            <LinearLayout
+                android:id="@+id/ll_show_two"
+                android:layout_width="match_parent"
+                android:orientation="vertical"
+                android:visibility="gone"
+                android:layout_height="wrap_content">
 
-                </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical">
+
+                    <TextView
+                        android:id="@+id/tv_two"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:visibility="gone" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:paddingTop="10dp"
+                    android:paddingBottom="10dp"
+                   >
+
+                    <ImageView
+                        android:layout_width="38dp"
+                        android:layout_height="20dp"
+                        android:onClick="@{v->vm.toClose()}"
+                        android:paddingLeft="20dp"
+                        android:src="@drawable/ic_back_black" />
+
+                    <TextView
+                        android:id="@+id/tv_show_title"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginEnd="14dp"
+                        android:layout_weight="1"
+                        android:gravity="center_horizontal"
+                        android:text="臧品详情"
+                        android:textColor="@color/text_title"
+                        android:textSize="18sp"
+                        android:textStyle="bold" />
+
+                    <ImageView
+                        android:id="@+id/img_share"
+                        android:layout_width="28dp"
+                        android:layout_height="20dp"
+                        android:layout_marginEnd="16dp"
+                        android:src="@drawable/ct_share" />
+
+                </LinearLayout>
+            </LinearLayout>
 
 
-            </FrameLayout>
 
-        </androidx.core.widget.NestedScrollView>
+        </FrameLayout>
+
 
         <!--        已售罄-->
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="60dp"
-            android:visibility="@{vm.data.state==3?View.VISIBLE:View.GONE}"
-            android:gravity="center_vertical">
+            android:gravity="center_vertical"
+            android:visibility="@{vm.data.state==3?View.VISIBLE:View.GONE}">
 
             <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
                 android:layout_width="match_parent"
@@ -535,8 +619,8 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="48dp"
-            android:orientation="horizontal"
             android:layout_marginBottom="10dp"
+            android:orientation="horizontal"
             android:visibility="@{vm.data.state==2?View.VISIBLE:View.GONE}"
             tools:visibility="visible">
 
@@ -552,37 +636,35 @@
 
             <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                 android:layout_width="180dp"
-                android:orientation="vertical"
+                android:layout_height="40dp"
                 android:layout_marginTop="8dp"
                 android:layout_marginEnd="25dp"
+                android:gravity="center"
+                android:orientation="vertical"
                 app:qmui_backgroundColor="#38D3D3"
                 app:qmui_borderColor="@color/translucent"
-                app:qmui_radius="4dp"
-                android:gravity="center"
-                android:layout_height="40dp">
+                app:qmui_radius="4dp">
 
                 <TextView
-                    android:textColor="@color/white"
-                    android:textSize="16sp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
                     android:text="设置购买提醒"
+                    android:textColor="@color/white"
+                    android:textSize="16sp" />
+
+                <TextView
                     android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"/>
-                  <TextView
-                      android:text="12:13:18"
-                      android:textSize="12sp"
-                      android:textColor="@color/white"
-                      android:layout_width="wrap_content"
-                      android:layout_height="wrap_content"/>
+                    android:layout_height="wrap_content"
+                    android:text="12:13:18"
+                    android:textColor="@color/white"
+                    android:textSize="12sp" />
 
 
             </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
 
 
-
-
         </LinearLayout>
 
 
-
     </LinearLayout>
 </layout>

+ 247 - 0
app/src/main/res/layout/item_popu_down.xml

@@ -0,0 +1,247 @@
+<?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="wrap_content"
+    android:orientation="vertical">
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_horizontal"
+        android:orientation="vertical"
+        android:padding="@dimen/dp_10">
+
+        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="30dp"
+            android:layout_marginEnd="30dp"
+            android:gravity="center"
+            android:orientation="vertical"
+            app:qmui_backgroundColor="@color/white"
+            app:qmui_borderColor="@color/translucent"
+            app:qmui_radius="@dimen/dp_15">
+
+
+            <FrameLayout
+                android:id="@+id/fl_container"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+
+                <androidx.appcompat.widget.AppCompatImageView
+                    android:id="@+id/img"
+                    android:layout_width="match_parent"
+                    android:layout_height="285dp"
+                    android:layout_gravity="center_horizontal"
+                    android:scaleType="fitXY"
+                    tools:src="@drawable/bg_need_error" />
+
+                <LinearLayout
+                    android:layout_gravity="bottom"
+                    android:background="@drawable/bg_share_white"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:paddingTop="10dp"
+                    android:orientation="horizontal"
+                    android:paddingBottom="12dp">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:orientation="vertical"
+                        android:paddingStart="15dp"
+                        android:paddingEnd="15dp">
+
+                        <TextView
+                            android:id="@+id/tv_title"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="10dp"
+                            android:text="元宇宙IP热梗盲盒"
+                            android:textColor="@color/text_title"
+                            android:textSize="16sp" />
+
+                        <TextView
+                            android:id="@+id/tv_name"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="作者:1234"
+                            android:textColor="#8D8D8D"
+                            android:textSize="12sp" />
+
+
+                    </LinearLayout>
+
+                    <ImageView
+                        android:id="@+id/img_code"
+                        android:layout_width="60dp"
+                        android:layout_marginEnd="15dp"
+                        android:layout_height="60dp"
+                        android:src="@drawable/bg_need_error" />
+                </LinearLayout>
+
+            </FrameLayout>
+
+
+        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="50dp"
+            android:layout_marginTop="44dp"
+            android:layout_marginRight="50dp"
+            android:orientation="horizontal">
+
+            <LinearLayout
+                android:id="@+id/ll_wx"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <ImageView
+
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_wx" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="微信"
+                    android:textColor="@color/white"
+                    android:textSize="10sp" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/ll_share_one"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <ImageView
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_friends" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="微信好友"
+                    android:textColor="@color/white"
+                    android:textSize="10sp" />
+
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:id="@+id/ll_link"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:visibility="gone"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <ImageView
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_link" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="复制链接"
+                    android:textColor="@color/text_title"
+                    android:textSize="10sp" />
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:id="@+id/ll_share_three"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:orientation="vertical"
+                android:gravity="center"
+               >
+
+                <ImageView
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_qq"/>
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="下载图片"
+                    android:textColor="@color/white"
+                    android:textSize="10sp" />
+
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/ll_save"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <ImageView
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_save" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="下载图片"
+                    android:textColor="@color/white"
+                    android:textSize="10sp" />
+
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+
+        <TextView
+            android:id="@+id/tv_close"
+            android:layout_width="match_parent"
+            android:layout_height="46dp"
+            android:layout_marginStart="30dp"
+            android:layout_marginTop="22dp"
+            android:layout_marginEnd="30dp"
+            android:layout_marginBottom="40dp"
+            android:background="@drawable/bg_logo_but"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/white"
+            android:textSize="20sp" />
+
+
+    </LinearLayout>
+
+
+</LinearLayout>

+ 16 - 4
app/src/main/res/layout/item_recommed.xml

@@ -32,16 +32,28 @@
                 android:layout_width="match_parent"
                 android:layout_height="match_parent">
                 <!--       app:url="@{item.cover}"-->
-                <com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+
+                <androidx.appcompat.widget.AppCompatImageView
                     android:id="@+id/img_bg"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
-                    android:scaleType="centerCrop"
+                    android:scaleType="fitXY"
+                    android:adjustViewBounds="true"
                     android:src="@drawable/bg_need_error"
-                    app:qmui_border_color="@color/translucent"
-                    app:qmui_corner_radius="20dp"
                     />
 
+<!--                <com.qmuiteam.qmui.widget.QMUIRadiusImageView-->
+<!--                    android:id="@+id/img_bg"-->
+<!--                    android:layout_width="match_parent"-->
+<!--                    android:layout_height="match_parent"-->
+<!--                    android:scaleType="centerCrop"-->
+<!--                    android:src="@drawable/bg_need_error"-->
+<!--                    app:qmui_border_color="@color/translucent"-->
+<!--                    app:qmui_corner_radius="20dp"-->
+<!--                    app:url="@{item.cover}"-->
+<!--                    />-->
+
 
                 <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                     android:layout_width="match_parent"

+ 96 - 29
app/src/main/res/layout/item_wx_share.xml

@@ -11,98 +11,165 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
+        android:gravity="center_horizontal"
         android:padding="@dimen/dp_10">
 
+        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+            android:layout_width="wrap_content"
+            app:qmui_radius="@dimen/dp_16"
+            app:qmui_backgroundColor="@color/white"
+            app:qmui_borderColor="@color/translucent"
+            android:gravity="center"
+            android:layout_height="wrap_content">
 
-        <com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+        <androidx.appcompat.widget.AppCompatImageView
             android:id="@+id/img"
             android:layout_width="123dp"
             android:layout_height="123dp"
-            android:layout_marginTop="34dp"
             android:layout_gravity="center_horizontal"
             android:scaleType="fitXY"
-            app:qmui_corner_radius="@dimen/dp_8"
-            app:qmui_border_color="@color/translucent"
             tools:src="@drawable/bg_need_error" />
 
+        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginLeft="68dp"
-            android:layout_marginTop="30dp"
-            android:layout_marginRight="68dp"
+            android:layout_marginLeft="50dp"
+            android:layout_marginTop="44dp"
+            android:layout_marginRight="50dp"
             android:orientation="horizontal">
 
+            <LinearLayout
+                android:id="@+id/ll_wx"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:orientation="vertical"
+                android:gravity="center">
+
+                <ImageView
+
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_wx"/>
+                <TextView
+                    android:textColor="@color/text_title"
+                    android:textSize="10sp"
+                    android:text="微信"
+                    android:layout_marginTop="4dp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"/>
+
+            </LinearLayout>
 
             <LinearLayout
+                android:id="@+id/ll_share_one"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
+                android:orientation="vertical"
                 android:gravity="center">
 
                 <ImageView
-                    android:id="@+id/iv_share_one"
-                    android:layout_width="49dp"
-                    android:layout_height="51dp"
-                    android:src="@drawable/share_wx"></ImageView>
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_friends"/>
+                <TextView
+                    android:textColor="@color/text_title"
+                    android:textSize="10sp"
+                    android:text="微信好友"
+                    android:layout_marginTop="4dp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"/>
 
 
             </LinearLayout>
 
+
             <LinearLayout
+                android:id="@+id/ll_link"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
+                android:orientation="vertical"
 
                 android:gravity="center">
 
                 <ImageView
-                    android:id="@+id/iv_share_two"
-                    android:layout_width="49dp"
-                    android:layout_height="51dp"
-                    android:src="@drawable/share_friends"></ImageView>
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_link"/>
+                <TextView
+                    android:textColor="@color/text_title"
+                    android:textSize="10sp"
+                    android:text="复制链接"
+                    android:layout_marginTop="4dp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"/>
 
             </LinearLayout>
+
+
             <LinearLayout
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
-
+                android:visibility="gone"
                 android:gravity="center">
 
                 <ImageView
                     android:id="@+id/iv_share_three"
-                    android:layout_width="49dp"
-                    android:layout_height="51dp"
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
                     android:src="@drawable/share_qq"></ImageView>
 
             </LinearLayout>
 
             <LinearLayout
+                android:id="@+id/ll_save"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
+                android:orientation="vertical"
                 android:gravity="center">
 
                 <ImageView
-                    android:id="@+id/iv_save"
-                    android:layout_width="57dp"
-                    android:layout_height="51dp"
-                    android:src="@drawable/share_down"></ImageView>
+                    android:layout_width="41dp"
+                    android:layout_height="41dp"
+                    android:src="@drawable/share_save"/>
+                <TextView
+                    android:textColor="@color/text_title"
+                    android:textSize="10sp"
+                    android:text="下载图片"
+                    android:layout_marginTop="4dp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"/>
 
 
             </LinearLayout>
 
         </LinearLayout>
 
-        <ImageView
-            android:id="@+id/iv_close"
-            android:layout_width="30dp"
-            android:layout_height="30dp"
-            android:layout_gravity="center_horizontal"
-            android:layout_marginTop="32dp"
-            android:src="@drawable/ic_dialog_close" />
+
+        <TextView
+            android:id="@+id/tv_close"
+            android:layout_width="match_parent"
+            android:layout_height="46dp"
+            android:layout_marginStart="30dp"
+            android:layout_marginTop="22dp"
+            android:layout_marginEnd="30dp"
+            android:layout_marginBottom="40dp"
+            android:background="@drawable/bg_logo_but"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/white"
+            android:textSize="20sp" />
+
+
 
     </LinearLayout>
 

+ 0 - 1
base/src/main/java/com/ysnows/base/binding/ImageBindingAdapter.kt

@@ -17,7 +17,6 @@ object ImageBindingAdapter {
 
         if (!url.isNullOrEmpty()) {
             view.load(url){
-                size(100,100)
                 placeholder(drawable)
                 error(drawable)
             }

BIN
base/src/main/res/drawable-xxhdpi/ct_tib_back.png


BIN
base/src/main/res/drawable-xxhdpi/ct_tib_share.png


BIN
base/src/main/res/drawable-xxhdpi/share_wx.png