Commit ce972108 authored by fengruiyu's avatar fengruiyu

Merge branch 'dev_1.0.1' of http://gitlab.mints-id.com/android/android_street into dev_1.1.0

 Conflicts:
	app/src/main/java/com/mints/street/main/home/HomeFragment.kt
parents c29a8e87 9e568b02
...@@ -5,7 +5,6 @@ import android.graphics.Paint ...@@ -5,7 +5,6 @@ import android.graphics.Paint
import android.view.View import android.view.View
import com.alibaba.android.vlayout.LayoutHelper import com.alibaba.android.vlayout.LayoutHelper
import com.alibaba.android.vlayout.layout.GridLayoutHelper import com.alibaba.android.vlayout.layout.GridLayoutHelper
import com.alibaba.android.vlayout.layout.LinearLayoutHelper
import com.fry.base.adapter.AbstractVLayoutBaseAdapter import com.fry.base.adapter.AbstractVLayoutBaseAdapter
import com.fry.base.adapter.BindingViewHolder import com.fry.base.adapter.BindingViewHolder
import com.fry.base.binding.setMargin import com.fry.base.binding.setMargin
...@@ -13,71 +12,50 @@ import com.mints.street.R ...@@ -13,71 +12,50 @@ import com.mints.street.R
import com.mints.street.bean.VipBean import com.mints.street.bean.VipBean
import com.mints.street.databinding.ItemGridPaymentAdpaterBinding import com.mints.street.databinding.ItemGridPaymentAdpaterBinding
import me.goldze.mvvmhabit.utils.AppUtils import me.goldze.mvvmhabit.utils.AppUtils
import me.goldze.mvvmhabit.utils.RxUtils
class GridPaymentAdapter(val context: Context, val list: List<VipBean.ListBean>) : class GridPaymentAdapter(val context: Context, val list: List<VipBean.ListBean?>?) :
AbstractVLayoutBaseAdapter<ItemGridPaymentAdpaterBinding, AbstractVLayoutBaseAdapter<ItemGridPaymentAdpaterBinding,
List<VipBean.ListBean>>(context, list, 3) { List<VipBean.ListBean?>?>(context, list, 3) {
private var pid:String? = null
private var datalist: List<VipBean.ListBean>? = list
private var mposition: Int = 0//设置首次进来默认选中第一个
override fun onBindViewHolder(holder: BindingViewHolder<ItemGridPaymentAdpaterBinding>, position: Int) { override fun onBindViewHolder(holder: BindingViewHolder<ItemGridPaymentAdpaterBinding>, position: Int) {
holder.binding.tvOldprice.paint.flags = Paint.STRIKE_THRU_TEXT_FLAG holder.binding.tvOldprice.paint.flags = Paint.STRIKE_THRU_TEXT_FLAG
// var a = holder.binding.bg.layoutParams
//设置 view边距
holder.binding.bg.setMargin(AppUtils.dp2Px(context, 10F), 0, AppUtils.dp2Px(context, 10F), holder.binding.bg.setMargin(AppUtils.dp2Px(context, 10F), 0, AppUtils.dp2Px(context, 10F),
AppUtils.dp2Px(context, 10F), null, null, null) AppUtils.dp2Px(context, 10F), null, null, null)
list?.apply {
if (list[position]?.isSelect == true) {
//设置 view背景样式
if (mposition == position) {
holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment_down)
} else {
holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment)
}
//设置默认选中
if (holder.adapterPosition == mposition) {//如果当前的view是第一个设置默认背景,并且是第一次设置背景
holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment_down)
}
//添加 套餐推荐内容
datalist?.let {
val databean = it[position]
// 设置点击事件
holder.itemView.setOnClickListener {
//设置当前段中view脚标
mposition = holder.adapterPosition
holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment_down) holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment_down)
pid = list[position]?.pid
}else{
holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment)
}
holder.binding.tvDays.text = list[position]?.title
holder.binding.tvOldprice.text = "原价¥${list[position]?.oldPrice}"
holder.binding.tvPrice.text = "¥${list[position]?.price}"
holder.binding.ivHot.visibility = if (list[position]?.activityType == 0) View.GONE else View.VISIBLE
RxUtils.onMultiClick(holder.itemView){
if (list[position]?.isSelect == true) return@onMultiClick
list.forEach {
it?.isSelect = false
}
list[position]?.isSelect = true
notifyDataSetChanged() notifyDataSetChanged()
} }
// holder.binding.tvDays.text = "${databean.days}天"
holder.binding.tvDays.text = databean.title
holder.binding.tvOldprice.text = "原价¥${databean.oldPrice}"
holder.binding.tvPrice.text = "¥${databean.price}"
holder.binding.ivHot.visibility = if (databean.activityType == 0) View.GONE else View.VISIBLE
} }
} }
override fun getItemCount() = list?.size?:0
override fun getItemCount(): Int { fun getPid():String?{
return if (datalist == null) { return pid
0
} else {
datalist!!.size
}
} }
override fun getLayoutId(viewType: Int) = R.layout.item_grid_payment_adpater override fun getLayoutId(viewType: Int) = R.layout.item_grid_payment_adpater
fun getPosition() = mposition
override fun onCreateLayoutHelper(): LayoutHelper { override fun onCreateLayoutHelper(): LayoutHelper {
val hp: GridLayoutHelper = GridLayoutHelper(3) val hp: GridLayoutHelper = GridLayoutHelper(3)
hp.setAutoExpand(false) hp.setAutoExpand(false)
return hp return hp
} }
} }
\ No newline at end of file
...@@ -21,7 +21,7 @@ import java.text.DecimalFormat ...@@ -21,7 +21,7 @@ import java.text.DecimalFormat
class ItemHotViewAdapter(val context: Context, val dialog: BottomSheetDialog?, var list: List<HotViewBean.Dataslist>?, class ItemHotViewAdapter(val context: Context, val dialog: BottomSheetDialog?, var list: List<HotViewBean.Dataslist>?,
val viewModel: HomeViewModel, val mCurrentLat: Double, val viewModel: HomeViewModel, val mCurrentLat: Double,
val mCurrentLon: Double, val onHotItemClick: HotViewDialog.OnHotItemClick?=null) : val mCurrentLon: Double, val onHotItemClick: HotViewDialog.OnHotItemClick? = null) :
AbstractVLayoutBaseAdapter<ItemHotViewAdapterBinding, List<HotViewBean.Dataslist>?>( AbstractVLayoutBaseAdapter<ItemHotViewAdapterBinding, List<HotViewBean.Dataslist>?>(
context, list, 1 context, list, 1
) { ) {
...@@ -36,21 +36,17 @@ class ItemHotViewAdapter(val context: Context, val dialog: BottomSheetDialog?, v ...@@ -36,21 +36,17 @@ class ItemHotViewAdapter(val context: Context, val dialog: BottomSheetDialog?, v
//设置名称 //设置名称
holder.binding.viewname.text = name holder.binding.viewname.text = name
//设置距离 //设置距离
var distance:Double=getDistance(LatLng(lat!!.toDouble(), lng!!.toDouble()),LatLng(mCurrentLat, mCurrentLon)) var distance: Double = getDistance(LatLng(lat!!.toDouble(), lng!!.toDouble()), LatLng(mCurrentLat, mCurrentLon))
holder.binding.tvDistance.text = "距离${DecimalFormat("0.00").format(distance/1000).toString()}km" holder.binding.tvDistance.text = "距离${DecimalFormat("0.00").format(distance / 1000).toString()}km"
//设置景点简介 //设置景点简介
holder.binding.tvDescribe.text = desc holder.binding.tvDescribe.text = desc
//设置点击事件 //设置点击事件
RxUtils.onMultiClick(holder.itemView) { RxUtils.onMultiClick(holder.itemView) {
//判断是否当前是否是会员, //是会员都是登陆状态则继续正确跳转,否则跳转开通vip
if (!UserManager.INSTANCE.userIsLogin()&&!UserManager.INSTANCE.getVipFlag()) { if (UserManager.INSTANCE.getVipFlag())
dialog?.dismiss()
//否-跳转到开通vip界面
startActivity(OpenvipActivity::class.java)
} else {
dialog?.dismiss()
onHotItemClick?.onItemClick(position, list?.get(position)) onHotItemClick?.onItemClick(position, list?.get(position))
} else startActivity(OpenvipActivity::class.java)
dialog?.dismiss()
} }
} }
......
...@@ -48,6 +48,11 @@ interface MainApi { ...@@ -48,6 +48,11 @@ interface MainApi {
@POST("api/saveTerminalInfo") @POST("api/saveTerminalInfo")
fun saveTerminalInfo(@Body vo: @JvmSuppressWildcards Map<String, Any>): Observable<Response<BaseResponse<Any>>> fun saveTerminalInfo(@Body vo: @JvmSuppressWildcards Map<String, Any>): Observable<Response<BaseResponse<Any>>>
/**
*是否显示继续支付弹窗
*/
@POST("na/backVipDialogTip")
fun isbackvipdialogtip(@Body vo: @JvmSuppressWildcards Map<String, Any>): Observable<Response<BaseResponse<IsBackVipBean>>>
/** /**
* 开通vip * 开通vip
*/ */
...@@ -64,7 +69,7 @@ interface MainApi { ...@@ -64,7 +69,7 @@ interface MainApi {
* 获取支付参数 * 获取支付参数
*/ */
@POST("api/getVipPayParams") @POST("api/getVipPayParams")
fun getVipPayParams(@Body vo:@JvmSuppressWildcards Map<String,Any>):Observable<Response<BaseResponse<WxPayParamBean>>> fun getVipPayParams(@Body vo:@JvmSuppressWildcards Map<String,Any?>):Observable<Response<BaseResponse<WxPayParamBean>>>
/** /**
* 支付成功 * 支付成功
......
package com.mints.street.bean
import java.io.Serializable
class IsBackVipBean : Serializable {
val isPopup: Int? = null
}
\ No newline at end of file
...@@ -14,6 +14,7 @@ class VipBean : Serializable { ...@@ -14,6 +14,7 @@ class VipBean : Serializable {
var activityType: Int = 0 // 0 var activityType: Int = 0 // 0
var oldPrice: Double = 0.0 // 138 var oldPrice: Double = 0.0 // 138
var pid: String = ""// 1 var pid: String = ""// 1
var isSelect:Boolean=false
} }
} }
...@@ -14,7 +14,6 @@ import com.mints.street.utils.BackInputUtil ...@@ -14,7 +14,6 @@ import com.mints.street.utils.BackInputUtil
import com.mints.street.widget.dialog.DialogUtils import com.mints.street.widget.dialog.DialogUtils
import com.permissionx.guolindev.PermissionX import com.permissionx.guolindev.PermissionX
import com.permissionx.guolindev.callback.RequestCallback import com.permissionx.guolindev.callback.RequestCallback
import kotlinx.android.synthetic.main.activity_bindmobile.*
import kotlinx.android.synthetic.main.activity_login.* import kotlinx.android.synthetic.main.activity_login.*
import kotlinx.android.synthetic.main.include_header.* import kotlinx.android.synthetic.main.include_header.*
import me.goldze.mvvmhabit.utils.AppUtils import me.goldze.mvvmhabit.utils.AppUtils
...@@ -26,9 +25,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils ...@@ -26,9 +25,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils
class LoginActivity : BaseActivity<ActivityLoginBinding, LoginViewModel>(), View.OnClickListener { class LoginActivity : BaseActivity<ActivityLoginBinding, LoginViewModel>(), View.OnClickListener {
private val userManager by lazy { UserManager.INSTANCE } private val userManager by lazy { UserManager.INSTANCE }
override fun getStatusBarHeightView(): View? { // override fun getStatusBarHeightView(): View? {
return binding.tvName // return binding.tvName
} // }
override fun initContentView(savedInstanceState: Bundle?) = R.layout.activity_login override fun initContentView(savedInstanceState: Bundle?) = R.layout.activity_login
......
...@@ -22,7 +22,6 @@ import kotlinx.android.synthetic.main.fragment_my.* ...@@ -22,7 +22,6 @@ import kotlinx.android.synthetic.main.fragment_my.*
import me.goldze.mvvmhabit.base.AppManager import me.goldze.mvvmhabit.base.AppManager
import me.goldze.mvvmhabit.utils.RxUtils import me.goldze.mvvmhabit.utils.RxUtils
import me.goldze.mvvmhabit.utils.systembar.StatusBarUtil import me.goldze.mvvmhabit.utils.systembar.StatusBarUtil
import java.util.*
/** /**
...@@ -174,22 +173,22 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -174,22 +173,22 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
ic_theme.findViewById<TextView>(R.id.tv_theme_name).text = "享8大特权" ic_theme.findViewById<TextView>(R.id.tv_theme_name).text = "享8大特权"
ic_theme.findViewById<TextView>(R.id.tv_me1).text = "无线缩放" ic_theme.findViewById<TextView>(R.id.tv_me1).text = "无线缩放"
ic_theme.findViewById<TextView>(R.id.tv_me2).text = "国内外街景" ic_theme.findViewById<TextView>(R.id.tv_me2).text = "国内外街景"
ic_theme.findViewById<TextView>(R.id.tv_me3).text = "VR全景" ic_theme.findViewById<TextView>(R.id.tv_me3).text = "专属地图"
ic_theme.findViewById<TextView>(R.id.tv_me4).text = "3D地图" ic_theme.findViewById<TextView>(R.id.tv_me4).text = "VR全景"
ic_theme.findViewById<TextView>(R.id.tv_me5).text = "高清地图" ic_theme.findViewById<TextView>(R.id.tv_me5).text = "高清街景"
ic_theme.findViewById<TextView>(R.id.tv_me6).text = "全球景象" ic_theme.findViewById<TextView>(R.id.tv_me6).text = "全球景象"
ic_theme.findViewById<TextView>(R.id.tv_me7).text = "国内外搜索" ic_theme.findViewById<TextView>(R.id.tv_me7).text = "国内外搜索"
ic_theme.findViewById<TextView>(R.id.tv_me8).text = "景点推荐" ic_theme.findViewById<TextView>(R.id.tv_me8).text = "景点推荐"
ic_theme.findViewById<ImageView>(R.id.iv_decorate1).setImageResource(R.mipmap.icon_me_tiao) ic_theme.findViewById<ImageView>(R.id.iv_decorate1).setImageResource(R.mipmap.icon_me_tiao)
ic_theme.findViewById<ImageView>(R.id.iv_decorate2).setImageResource(R.mipmap.icon_me_tiao) ic_theme.findViewById<ImageView>(R.id.iv_decorate2).setImageResource(R.mipmap.icon_me_tiao)
ic_theme.findViewById<ImageView>(R.id.iv_me1).setImageResource(R.mipmap.icon_privilege5) ic_theme.findViewById<ImageView>(R.id.iv_me1).setImageResource(R.mipmap.icon_privilege_my1)
ic_theme.findViewById<ImageView>(R.id.iv_me2).setImageResource(R.mipmap.icon_privilege2) ic_theme.findViewById<ImageView>(R.id.iv_me2).setImageResource(R.mipmap.icon_privilege_my2)
ic_theme.findViewById<ImageView>(R.id.iv_me3).setImageResource(R.mipmap.icon_privilege4) ic_theme.findViewById<ImageView>(R.id.iv_me3).setImageResource(R.mipmap.icon_privilege_my4)
ic_theme.findViewById<ImageView>(R.id.iv_me4).setImageResource(R.mipmap.icon_privilege3) ic_theme.findViewById<ImageView>(R.id.iv_me4).setImageResource(R.mipmap.icon_privilege_my3)
ic_theme.findViewById<ImageView>(R.id.iv_me5).setImageResource(R.mipmap.icon_privilege1) ic_theme.findViewById<ImageView>(R.id.iv_me5).setImageResource(R.mipmap.icon_privilege_my5)
ic_theme.findViewById<ImageView>(R.id.iv_me6).setImageResource(R.mipmap.icon_privilege6) ic_theme.findViewById<ImageView>(R.id.iv_me6).setImageResource(R.mipmap.icon_privilege_my6)
ic_theme.findViewById<ImageView>(R.id.iv_me7).setImageResource(R.mipmap.icon_privilege7) ic_theme.findViewById<ImageView>(R.id.iv_me7).setImageResource(R.mipmap.icon_privilege_my7)
ic_theme.findViewById<ImageView>(R.id.iv_me8).setImageResource(R.mipmap.icon_privilege8) ic_theme.findViewById<ImageView>(R.id.iv_me8).setImageResource(R.mipmap.icon_privilege_my8)
} }
} }
...@@ -12,7 +12,7 @@ import com.mints.street.netwrok.base.HttpSubscribeImpl ...@@ -12,7 +12,7 @@ import com.mints.street.netwrok.base.HttpSubscribeImpl
import com.mints.street.utils.DeviceUuidFactory import com.mints.street.utils.DeviceUuidFactory
import me.goldze.mvvmhabit.base.BaseViewModel import me.goldze.mvvmhabit.base.BaseViewModel
import me.goldze.mvvmhabit.utils.KLog import me.goldze.mvvmhabit.utils.KLog
import java.util.HashMap import java.util.*
/** /**
* Created by 冯瑞雨 on 2021/7/2. * Created by 冯瑞雨 on 2021/7/2.
...@@ -55,7 +55,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) { ...@@ -55,7 +55,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) {
vo["wxInfo"] = wxInfo vo["wxInfo"] = wxInfo
// vo["shumeiId"] = ShumeiManager.getInstance().shumeiDeviceId // vo["shumeiId"] = ShumeiManager.getInstance().shumeiDeviceId
vo["device"] = DeviceUuidFactory().deviceUuid.toString() vo["device"] = DeviceUuidFactory().deviceUuid.toString()
ApiModel.wechatlogin(lifecycleProvider,vo).safeSubscribe(object : HttpSubscribeImpl<BaseResponse<UserBean>>( ApiModel.wechatlogin(lifecycleProvider, vo).safeSubscribe(object : HttpSubscribeImpl<BaseResponse<UserBean>>(
this@MyViewModel, true) { this@MyViewModel, true) {
override fun onBusinessSuccess(response: BaseResponse<UserBean>) { override fun onBusinessSuccess(response: BaseResponse<UserBean>) {
//保存用户信息到Usermanager //保存用户信息到Usermanager
...@@ -63,7 +63,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) { ...@@ -63,7 +63,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) {
this@MyViewModel.saveTerminalInfo()//提交设备信息 this@MyViewModel.saveTerminalInfo()//提交设备信息
this@MyViewModel.getmyInfo() this@MyViewModel.getmyInfo()
KLog.e("wechatlogin","微信登录接口成功") KLog.e("wechatlogin", "微信登录接口成功")
} }
...@@ -88,6 +88,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) { ...@@ -88,6 +88,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) {
vo["oaid"] = OaidManager.getOaid() vo["oaid"] = OaidManager.getOaid()
vo["os"] = "android" vo["os"] = "android"
vo["model"] = deviceInfo.newModel vo["model"] = deviceInfo.newModel
//传递这个值为唯一标识
vo["uuid"] = DeviceUuidFactory().deviceUuid vo["uuid"] = DeviceUuidFactory().deviceUuid
vo["osversion"] = deviceInfo.oSVersion vo["osversion"] = deviceInfo.oSVersion
vo["appversion"] = deviceInfo.versionName vo["appversion"] = deviceInfo.versionName
......
...@@ -28,7 +28,6 @@ import com.mints.street.widget.dialog.WxLoginDialog ...@@ -28,7 +28,6 @@ import com.mints.street.widget.dialog.WxLoginDialog
import kotlinx.android.synthetic.main.activity_openvip.* import kotlinx.android.synthetic.main.activity_openvip.*
import kotlinx.android.synthetic.main.include_header.* import kotlinx.android.synthetic.main.include_header.*
import me.goldze.mvvmhabit.utils.AppUtils import me.goldze.mvvmhabit.utils.AppUtils
import me.goldze.mvvmhabit.utils.KLog
import me.goldze.mvvmhabit.utils.ToastUtils import me.goldze.mvvmhabit.utils.ToastUtils
...@@ -52,6 +51,8 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -52,6 +51,8 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
override fun initData() { override fun initData() {
super.initData() super.initData()
//是否提示继续支付弹窗
viewModel.isbackVipDialogTip()
//获取vip福利信息 //获取vip福利信息
viewModel.getVipProductsByType() viewModel.getVipProductsByType()
//获取支付方式 //获取支付方式
...@@ -120,9 +121,9 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -120,9 +121,9 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
privilege.findViewById<TextView>(R.id.tv_theme_name).text = "享8大特权" privilege.findViewById<TextView>(R.id.tv_theme_name).text = "享8大特权"
privilege.findViewById<TextView>(R.id.tv_me1).text = "无限缩放" privilege.findViewById<TextView>(R.id.tv_me1).text = "无限缩放"
privilege.findViewById<TextView>(R.id.tv_me2).text = "国内外街景" privilege.findViewById<TextView>(R.id.tv_me2).text = "国内外街景"
privilege.findViewById<TextView>(R.id.tv_me3).text = "VR全景" privilege.findViewById<TextView>(R.id.tv_me3).text = "专属地图"
privilege.findViewById<TextView>(R.id.tv_me4).text = "3D地图" privilege.findViewById<TextView>(R.id.tv_me4).text = "VR全景"
privilege.findViewById<TextView>(R.id.tv_me5).text = "高清地图" privilege.findViewById<TextView>(R.id.tv_me5).text = "高清街景"
privilege.findViewById<TextView>(R.id.tv_me6).text = "全球景象" privilege.findViewById<TextView>(R.id.tv_me6).text = "全球景象"
privilege.findViewById<TextView>(R.id.tv_me7).text = "国内外搜索" privilege.findViewById<TextView>(R.id.tv_me7).text = "国内外搜索"
privilege.findViewById<TextView>(R.id.tv_me8).text = "景点推荐" privilege.findViewById<TextView>(R.id.tv_me8).text = "景点推荐"
...@@ -136,8 +137,8 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -136,8 +137,8 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
privilege.findViewById<ImageView>(R.id.iv_decorate2).setPadding(AppUtils.dp2Px(this, 50F), 0, 0, 0) privilege.findViewById<ImageView>(R.id.iv_decorate2).setPadding(AppUtils.dp2Px(this, 50F), 0, 0, 0)
privilege.findViewById<ImageView>(R.id.iv_me1).setImageResource(R.mipmap.icon_privilege5) privilege.findViewById<ImageView>(R.id.iv_me1).setImageResource(R.mipmap.icon_privilege5)
privilege.findViewById<ImageView>(R.id.iv_me2).setImageResource(R.mipmap.icon_privilege2) privilege.findViewById<ImageView>(R.id.iv_me2).setImageResource(R.mipmap.icon_privilege2)
privilege.findViewById<ImageView>(R.id.iv_me3).setImageResource(R.mipmap.icon_privilege4) privilege.findViewById<ImageView>(R.id.iv_me3).setImageResource(R.mipmap.icon_privilege3)
privilege.findViewById<ImageView>(R.id.iv_me4).setImageResource(R.mipmap.icon_privilege3) privilege.findViewById<ImageView>(R.id.iv_me4).setImageResource(R.mipmap.icon_privilege4)
privilege.findViewById<ImageView>(R.id.iv_me5).setImageResource(R.mipmap.icon_privilege1) privilege.findViewById<ImageView>(R.id.iv_me5).setImageResource(R.mipmap.icon_privilege1)
privilege.findViewById<ImageView>(R.id.iv_me6).setImageResource(R.mipmap.icon_privilege6) privilege.findViewById<ImageView>(R.id.iv_me6).setImageResource(R.mipmap.icon_privilege6)
privilege.findViewById<ImageView>(R.id.iv_me7).setImageResource(R.mipmap.icon_privilege7) privilege.findViewById<ImageView>(R.id.iv_me7).setImageResource(R.mipmap.icon_privilege7)
...@@ -172,8 +173,19 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -172,8 +173,19 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
super.initViewObservable() super.initViewObservable()
viewModel.Vipdata.observe(this, Observer<VipBean> { viewModel.Vipdata.observe(this, Observer<VipBean> {
vipList = it.list as MutableList<VipBean.ListBean>? vipList = it.list as MutableList<VipBean.ListBean>?
var isActivityType = true
for (index in it?.list!!) {
if (index.activityType != 0) {
index?.isSelect = true
isActivityType = false
break
}
}
if (isActivityType) {
it?.list?.get(0)?.isSelect = true
}
//展示 推荐套餐内容 //展示 推荐套餐内容
gridPaymentAdapter = GridPaymentAdapter(this, it.list!!) gridPaymentAdapter = GridPaymentAdapter(this, it.list)
mAdapter?.addAdapter(gridPaymentAdapter) mAdapter?.addAdapter(gridPaymentAdapter)
}) })
viewModel.vippayParams.observe(this, Observer<WxPayParamBean> { viewModel.vippayParams.observe(this, Observer<WxPayParamBean> {
...@@ -246,7 +258,9 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -246,7 +258,9 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
when (keyCode) { when (keyCode) {
KeyEvent.KEYCODE_BACK -> { KeyEvent.KEYCODE_BACK -> {
backvipDialog() if (viewModel.isbackvipdata.value?.isPopup == 1) {
backvipDialog()
} else finish()
} }
} }
return true return true
...@@ -256,7 +270,9 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -256,7 +270,9 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
override fun onClick(v: View?) { override fun onClick(v: View?) {
when (v?.id) { when (v?.id) {
R.id.iv_left_icon -> { R.id.iv_left_icon -> {
backvipDialog() if (viewModel.isbackvipdata.value?.isPopup == 1) {
backvipDialog()
} else finish()
} }
R.id.ly_payfirst -> { R.id.ly_payfirst -> {
//设置选中样式 //设置选中样式
...@@ -289,14 +305,15 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>() ...@@ -289,14 +305,15 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
private fun payVip() { private fun payVip() {
if (vipList != null && vipList!!.size > 0 && gridPaymentAdapter != null) { if (vipList != null && vipList!!.size > 0 && gridPaymentAdapter != null) {
if (TextUtils.equals("WEIXIN", currentPayType)) { if (TextUtils.equals("WEIXIN", currentPayType)) {
viewModel.getVipPayParams("WEIXIN", vipList!![gridPaymentAdapter!!.getPosition()].pid) viewModel.getVipPayParams("WEIXIN", gridPaymentAdapter?.getPid())
} else { } else {
viewModel.getVipPayParams("ALIPAY", vipList!![gridPaymentAdapter!!.getPosition()].pid) viewModel.getVipPayParams("ALIPAY", gridPaymentAdapter?.getPid())
} }
} }
} }
private fun backvipDialog() { private fun backvipDialog() {
DialogUtils.showbackvipDialog(this, object : DialogListener() { DialogUtils.showbackvipDialog(this, object : DialogListener() {
override fun onClick(dialog: Dialog?, v: View?) { override fun onClick(dialog: Dialog?, v: View?) {
if (dialog != null && dialog.isShowing) { if (dialog != null && dialog.isShowing) {
......
...@@ -12,7 +12,7 @@ import com.mints.street.netwrok.base.HttpSubscribeImpl ...@@ -12,7 +12,7 @@ import com.mints.street.netwrok.base.HttpSubscribeImpl
import com.mints.street.utils.DeviceUuidFactory import com.mints.street.utils.DeviceUuidFactory
import me.goldze.mvvmhabit.base.BaseViewModel import me.goldze.mvvmhabit.base.BaseViewModel
import me.goldze.mvvmhabit.utils.KLog import me.goldze.mvvmhabit.utils.KLog
import java.util.HashMap import java.util.*
class OpenvipViewModel(application: Application) : BaseViewModel(application) { class OpenvipViewModel(application: Application) : BaseViewModel(application) {
...@@ -73,8 +73,8 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) { ...@@ -73,8 +73,8 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) {
/** /**
* 获取支付参数 * 获取支付参数
*/ */
fun getVipPayParams(payChannel:String,pid: String) { fun getVipPayParams(payChannel: String, pid: String?) {
val vo = HashMap<String, Any>() val vo = HashMap<String, Any?>()
vo["payChannel"] = payChannel vo["payChannel"] = payChannel
vo["pid"] = pid vo["pid"] = pid
ApiModel.getVipPayParams(lifecycleProvider, vo).safeSubscribe( ApiModel.getVipPayParams(lifecycleProvider, vo).safeSubscribe(
...@@ -86,7 +86,7 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) { ...@@ -86,7 +86,7 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) {
override fun onError(e: Throwable) { override fun onError(e: Throwable) {
KLog.e("getVipPayParams", e.printStackTrace()) KLog.e("getVipPayParams", e.printStackTrace())
} }
} }
) )
} }
...@@ -116,23 +116,23 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) { ...@@ -116,23 +116,23 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) {
vo["wxInfo"] = wxInfo vo["wxInfo"] = wxInfo
// vo["shumeiId"] = ShumeiManager.getInstance().shumeiDeviceId // vo["shumeiId"] = ShumeiManager.getInstance().shumeiDeviceId
vo["device"] = DeviceUuidFactory().deviceUuid.toString() vo["device"] = DeviceUuidFactory().deviceUuid.toString()
ApiModel.wechatlogin(lifecycleProvider,vo).safeSubscribe(object : HttpSubscribeImpl<BaseResponse<UserBean>>( ApiModel.wechatlogin(lifecycleProvider, vo).safeSubscribe(object : HttpSubscribeImpl<BaseResponse<UserBean>>(
this@OpenvipViewModel, true) { this@OpenvipViewModel, true) {
override fun onBusinessSuccess(response: BaseResponse<UserBean>) { override fun onBusinessSuccess(response: BaseResponse<UserBean>) {
//保存用户信息到Usermanager //保存用户信息到Usermanager
UserManager.INSTANCE.saveUserInfo(response.result) UserManager.INSTANCE.saveUserInfo(response.result)
this@OpenvipViewModel.saveTerminalInfo()//提交设备信息 this@OpenvipViewModel.saveTerminalInfo()//提交设备信息
KLog.e("wechatlogin","微信登录接口成功") KLog.e("wechatlogin", "微信登录接口成功")
ToastUtils.showLong("登录成功") ToastUtils.showLong("登录成功")
isloginSuc.value=true isloginSuc.value = true
} }
override fun onError(e: Throwable) { override fun onError(e: Throwable) {
super.onError(e) super.onError(e)
KLog.e("wechatlogin", "微信登录接口失败") KLog.e("wechatlogin", "微信登录接口失败")
isloginSuc.value=false isloginSuc.value = false
} }
}) })
} }
...@@ -163,4 +163,22 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) { ...@@ -163,4 +163,22 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) {
} }
}) })
} }
//接受参数
var isbackvipdata: MutableLiveData<IsBackVipBean> = MutableLiveData()
/**
* 返回是否显示推出支付弹窗
*/
fun isbackVipDialogTip() {
val vo = hashMapOf<String, Any>()
vo["deviceId"] = DeviceUuidFactory().deviceUuid
ApiModel.isbackvipdialogtip(lifecycleProvider, vo).safeSubscribe(
object : HttpSubscribeImpl<BaseResponse<IsBackVipBean>>(
this@OpenvipViewModel, true) {
override fun onBusinessSuccess(response: BaseResponse<IsBackVipBean>) {
isbackvipdata.value=response.result
KLog.e("isbackvipdialogtip", response.result.toString())
}
})
}
} }
...@@ -44,6 +44,12 @@ object ApiModel { ...@@ -44,6 +44,12 @@ object ApiModel {
.execute(lifecycleProvider, MainApi.newInstance().saveTerminalInfo(map)) .execute(lifecycleProvider, MainApi.newInstance().saveTerminalInfo(map))
} }
/**
* 是否弹窗
*/
fun isbackvipdialogtip(lifecycleProvider: LifecycleProvider<Any>?, map: Map<String, Any>):Observable<Response<BaseResponse<IsBackVipBean>>>{
return HttpManager.getInstance().execute(lifecycleProvider,MainApi.newInstance().isbackvipdialogtip(map))
}
/** /**
* 开通会员 * 开通会员
...@@ -64,7 +70,7 @@ object ApiModel { ...@@ -64,7 +70,7 @@ object ApiModel {
/** /**
* 获取支付参数 * 获取支付参数
*/ */
fun getVipPayParams(lifecycleProvider: LifecycleProvider<Any>?, map: Map<String, Any>): Observable<Response<BaseResponse<WxPayParamBean>>> { fun getVipPayParams(lifecycleProvider: LifecycleProvider<Any>?, map: Map<String, Any?>): Observable<Response<BaseResponse<WxPayParamBean>>> {
return HttpManager.getInstance() return HttpManager.getInstance()
.execute(lifecycleProvider, MainApi.newInstance().getVipPayParams(map)) .execute(lifecycleProvider, MainApi.newInstance().getVipPayParams(map))
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFE8A4" /> <solid android:color="#F0D59D" />
<corners android:radius="100dp" /> <corners android:radius="100dp" />
</shape> </shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> android:shape="rectangle">
<!-- 填充的颜色 --> <gradient
<solid android:color="@color/color_A7BCFE" /> android:startColor="#3A98F7"
android:endColor="#76BAFF"
android:angle="90"/>
<!-- 设置按钮的四个角为弧形 --> <!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 --> <!-- android:radius 弧形的半径 -->
<corners android:radius="30dip" /> <corners android:radius="30dip" />
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_marginTop="40dp" android:layout_marginTop="40dp"
android:layout_marginBottom="220dp" android:layout_marginBottom="220dp"
android:padding="3dp"
android:src="@mipmap/map_change_icon" android:src="@mipmap/map_change_icon"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -56,6 +57,7 @@ ...@@ -56,6 +57,7 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:padding="3dp" android:padding="3dp"
android:src="@mipmap/icon_hotview" android:src="@mipmap/icon_hotview"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/image_map_change_icon" /> app:layout_constraintTop_toBottomOf="@id/image_map_change_icon" />
......
...@@ -10,36 +10,20 @@ ...@@ -10,36 +10,20 @@
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:background="#CC000000" android:background="@mipmap/iv_bg_login"
android:orientation="vertical"> android:orientation="vertical">
<include <include
android:id="@+id/ic_q" android:id="@+id/ic_q"
layout="@layout/include_header"/> layout="@layout/include_header" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="60dp"
android:text="在国内也能用的"
android:textSize="24dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="全球街景地图"
android:textSize="32dp" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="30dp" android:layout_marginLeft="30dp"
android:layout_marginTop="30dp" android:layout_marginTop="180dp"
android:layout_marginRight="30dp" android:layout_marginRight="30dp"
android:background="@drawable/shape_login_bg" android:background="@drawable/shape_login_bg"
android:orientation="horizontal"> android:orientation="horizontal">
...@@ -56,15 +40,15 @@ ...@@ -56,15 +40,15 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="50dp"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:paddingRight="20dp"
android:background="@null" android:background="@null"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/str_input_phone" android:hint="@string/str_input_phone"
android:inputType="number" android:inputType="number"
android:maxLength="13" android:maxLength="13"
android:maxLines="1" android:maxLines="1"
android:textColor="@color/color_172B54" android:paddingRight="20dp"
android:textColorHint="@color/color_BEC2CC" android:textColor="@color/white"
android:textColorHint="@color/white"
android:textSize="14sp" /> android:textSize="14sp" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
...@@ -119,10 +103,16 @@ ...@@ -119,10 +103,16 @@
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/transparent"
android:layout_weight="1"/>
<Button <Button
android:id="@+id/button" android:id="@+id/button"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="40dp" android:layout_marginStart="40dp"
android:layout_marginTop="30dp" android:layout_marginTop="30dp"
android:layout_marginEnd="40dp" android:layout_marginEnd="40dp"
...@@ -131,17 +121,14 @@ ...@@ -131,17 +121,14 @@
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" /> android:textSize="16sp" />
<View
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView <TextView
android:paddingBottom="10dp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginLeft="30dp" android:layout_marginLeft="30dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginRight="30dp" android:layout_marginRight="30dp"
android:paddingBottom="10dp"
android:text="@string/str_login_tint" /> android:text="@string/str_login_tint" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
......
...@@ -17,91 +17,6 @@ ...@@ -17,91 +17,6 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<com.mints.street.widget.ScrollLayout
android:id="@+id/scroll_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/cursor_bg"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="10dp">
<ImageView
android:id="@+id/image_under"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:src="@mipmap/icon_content_back"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.coorchice.library.SuperTextView
android:id="@+id/stb_bg_search"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/image_under"
app:stv_corner="20dp"
app:stv_solid="#F5F9FA"
app:stv_stroke_color="#ffe1e1e1"
app:stv_stroke_width="1dp" />
<ImageView
android:id="@+id/im_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:src="@mipmap/search_icon"
app:layout_constraintBottom_toBottomOf="@id/stb_bg_search"
app:layout_constraintStart_toStartOf="@id/stb_bg_search"
app:layout_constraintTop_toTopOf="@id/stb_bg_search" />
<View
android:layout_width="0.5dp"
android:layout_height="14dp"
android:layout_marginStart="16dp"
android:background="#A1A3AF"
app:layout_constraintBottom_toBottomOf="@id/stb_bg_search"
app:layout_constraintStart_toEndOf="@id/im_search"
app:layout_constraintTop_toTopOf="@id/stb_bg_search" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="27dp"
android:text="搜索境内、境外地址"
android:textColor="#A2A4B1"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/stb_bg_search"
app:layout_constraintStart_toEndOf="@id/im_search"
app:layout_constraintTop_toTopOf="@id/stb_bg_search" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.mints.street.widget.ScrollRecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:itemBinding="@{viewModel.addressItemBinding}"
app:items="@{viewModel.addressList}"
tools:listitem="@layout/item_home_button">
</com.mints.street.widget.ScrollRecyclerView>
</com.mints.street.widget.ScrollLayout>
<ImageView <ImageView
android:id="@+id/iv_click" android:id="@+id/iv_click"
android:layout_width="80dp" android:layout_width="80dp"
...@@ -150,6 +65,7 @@ ...@@ -150,6 +65,7 @@
android:layout_height="40dp" android:layout_height="40dp"
android:layout_marginTop="35dp" android:layout_marginTop="35dp"
android:layout_marginBottom="220dp" android:layout_marginBottom="220dp"
android:padding="3dp"
android:src="@mipmap/map_change_icon" android:src="@mipmap/map_change_icon"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -189,6 +105,90 @@ ...@@ -189,6 +105,90 @@
</LinearLayout> </LinearLayout>
<com.mints.street.widget.ScrollLayout
android:id="@+id/scroll_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/cursor_bg"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="10dp">
<ImageView
android:id="@+id/image_under"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:src="@mipmap/icon_content_back"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.coorchice.library.SuperTextView
android:id="@+id/stb_bg_search"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/image_under"
app:stv_corner="20dp"
app:stv_solid="#F5F9FA"
app:stv_stroke_color="#ffe1e1e1"
app:stv_stroke_width="1dp" />
<ImageView
android:id="@+id/im_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:src="@mipmap/search_icon"
app:layout_constraintBottom_toBottomOf="@id/stb_bg_search"
app:layout_constraintStart_toStartOf="@id/stb_bg_search"
app:layout_constraintTop_toTopOf="@id/stb_bg_search" />
<View
android:layout_width="0.5dp"
android:layout_height="14dp"
android:layout_marginStart="16dp"
android:background="#A1A3AF"
app:layout_constraintBottom_toBottomOf="@id/stb_bg_search"
app:layout_constraintStart_toEndOf="@id/im_search"
app:layout_constraintTop_toTopOf="@id/stb_bg_search" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="27dp"
android:text="搜索境内、境外地址"
android:textColor="#A2A4B1"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/stb_bg_search"
app:layout_constraintStart_toEndOf="@id/im_search"
app:layout_constraintTop_toTopOf="@id/stb_bg_search" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.mints.street.widget.ScrollRecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:itemBinding="@{viewModel.addressItemBinding}"
app:items="@{viewModel.addressList}"
tools:listitem="@layout/item_home_button">
</com.mints.street.widget.ScrollRecyclerView>
</com.mints.street.widget.ScrollLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
...@@ -7,15 +7,10 @@ ...@@ -7,15 +7,10 @@
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="30dp" android:background="@mipmap/ic_bg_upvip"
android:gravity="bottom"
android:orientation="vertical"> android:orientation="vertical">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:src="@mipmap/iv_upgrade" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -37,19 +32,21 @@ ...@@ -37,19 +32,21 @@
<Button <Button
android:id="@+id/bt_upgrade" android:id="@+id/bt_upgrade"
android:layout_width="200dp" android:layout_width="200dp"
android:layout_height="40dp" android:layout_height="50dp"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="30dp" android:layout_marginTop="30dp"
android:background="@drawable/shape_upgrade_btn_bg" android:background="@mipmap/ic_btn_upvip_bg"
android:text="继续升级" android:text="继续升级"
android:layout_marginBottom="30dp"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" /> android:textSize="16sp" />
</LinearLayout> </LinearLayout>
<ImageView <ImageView
android:id="@+id/iv_close" android:id="@+id/iv_close"
android:layout_width="wrap_content" android:layout_width="20dp"
android:layout_height="wrap_content" android:layout_height="20dp"
android:layout_margin="10dp"
android:layout_gravity="end|top" android:layout_gravity="end|top"
android:src="@mipmap/icon_upgrade_close" /> android:src="@mipmap/icon_upgrade_close" />
</FrameLayout> </FrameLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment