Commit 19dfec14 authored by 张释方's avatar 张释方

设置默认选中套餐,默认支付方式以及添加取消支付弹窗提示

parent d47cffd9
......@@ -12,26 +12,43 @@ import com.mints.street.bean.VipBean
import com.mints.street.databinding.ItemGridPaymentAdpaterBinding
import me.goldze.mvvmhabit.utils.AppUtils
class GridPaymentAdapter(val context: Context, val list: List<VipBean.ListBean>) : AbstractVLayoutBaseAdapter<ItemGridPaymentAdpaterBinding, List<VipBean.ListBean>>(context, list, 3) {
class GridPaymentAdapter(val context: Context, val list: List<VipBean.ListBean>) :
AbstractVLayoutBaseAdapter<ItemGridPaymentAdpaterBinding,
List<VipBean.ListBean>>(context, list, 3) {
//设置首次进来默认选中第一个
private var first: Int = 1
private var datalist: List<VipBean.ListBean>? = list
private var mposition: Int = -1
override fun onBindViewHolder(holder: BindingViewHolder<ItemGridPaymentAdpaterBinding>, position: Int) {
holder.binding.tvOldprice.paint.flags = Paint.STRIKE_THRU_TEXT_FLAG
var a = holder.binding.bg.layoutParams
// var a = holder.binding.bg.layoutParams
//设置 view边距
holder.binding.bg.setMargin(AppUtils.dp2Px(context, 10F), 0, AppUtils.dp2Px(context, 10F),
AppUtils.dp2Px(context, 10F), null, null, null)
holder.binding.bg.setMargin(AppUtils.dp2Px(context, 10F), 0, AppUtils.dp2Px(context, 10F), AppUtils.dp2Px(context, 10F), null, null, null)
//设置 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 == 0 && first == 1) {//如果当前的view是第一个设置默认背景,并且是第一次设置背景
holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment_down)
first = 2//设置view背景后,将设置情况改变成第二次
}
//添加 套餐推荐内容
datalist?.let {
val databean = it[position]
// 设置点击事件
holder.itemView.setOnClickListener {
//设置当前段中view脚标
mposition = holder.adapterPosition
holder.binding.bg.setBackgroundResource(R.drawable.shape_bg_payment_down)
notifyDataSetChanged()
......
......@@ -10,6 +10,7 @@ import com.mints.street.BR
import com.mints.street.R
import com.mints.street.databinding.ActivityLoginBinding
import com.mints.street.main.MainActivity
import com.mints.street.manager.UserManager
import com.mints.street.utils.BackInputUtil
import com.tbruyelle.rxpermissions2.RxPermissions
import kotlinx.android.synthetic.main.activity_bindmobile.*
......@@ -23,8 +24,7 @@ import me.goldze.mvvmhabit.utils.ToastUtils
*/
class LoginActivity : BaseActivity<ActivityLoginBinding, LoginViewModel>(), View.OnClickListener {
private var mobile: String? = null
private val userManager by lazy { UserManager.INSTANCE }
override fun initContentView(savedInstanceState: Bundle?) = R.layout.activity_login
override fun initVariableId() = BR.viewModel
......@@ -47,7 +47,10 @@ class LoginActivity : BaseActivity<ActivityLoginBinding, LoginViewModel>(), View
return@setOnClickListener
}
if (!userManager.getMobile().isEmpty()) {
sendCodeThread()
}
mobile = mobile.replace(" ".toRegex(), "")
viewModel.sendMobileCode(mobile)
......@@ -90,8 +93,8 @@ class LoginActivity : BaseActivity<ActivityLoginBinding, LoginViewModel>(), View
tv_title.text = "手机号登录"
tv_title.setTextColor(Color.WHITE)
iv_left_icon.setImageResource(R.mipmap.ic_arrow_back_white)
iv_left_icon.setPadding(AppUtils.dp2Px(this, 15F),AppUtils.dp2Px(this, 15F),AppUtils.dp2Px(this, 15F),AppUtils.dp2Px(this, 15F))
header_line.visibility=View.GONE
iv_left_icon.setPadding(AppUtils.dp2Px(this, 15F), AppUtils.dp2Px(this, 15F), AppUtils.dp2Px(this, 15F), AppUtils.dp2Px(this, 15F))
header_line.visibility = View.GONE
iv_left_icon.visibility = View.VISIBLE
//手机号设置格式
......
......@@ -26,6 +26,7 @@ import com.umeng.analytics.MobclickAgent
import me.goldze.mvvmhabit.base.AppManager
import me.goldze.mvvmhabit.utils.KLog
import me.goldze.mvvmhabit.utils.ToastUtils
import me.goldze.mvvmhabit.utils.systembar.StatusBarUtil
class MainActivity : BaseActivity<ActivityMainBinding, MainViewModel>() {
......@@ -33,6 +34,8 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainViewModel>() {
override fun initVariableId() = BR.viewModel
override fun initData() {
super.initData()
//初始化viewpager2
......
......@@ -7,13 +7,14 @@ import com.mints.street.databinding.ActivityAboutusBinding
import com.fry.base.base.BaseActivity
import com.mints.street.BR
import com.mints.street.R
import com.mints.street.webview.MintsWebViewActivity
import kotlinx.android.synthetic.main.activity_aboutus.*
import kotlinx.android.synthetic.main.include_header.*
class AboutusActivity :BaseActivity<ActivityAboutusBinding, AboutusViewModel>(), View.OnClickListener {
class AboutusActivity : BaseActivity<ActivityAboutusBinding, AboutusViewModel>(), View.OnClickListener {
override fun initVariableId() = BR.viewModel
override fun initContentView(savedInstanceState: Bundle?)= R.layout.activity_aboutus
override fun initContentView(savedInstanceState: Bundle?) = R.layout.activity_aboutus
override fun initData() {
super.initData()
initView()
......@@ -25,22 +26,22 @@ class AboutusActivity :BaseActivity<ActivityAboutusBinding, AboutusViewModel>(),
}
private fun initView() {
tv_title.text="关于我们"
tv_title.text = "关于我们"
tv_title.setTextColor(Color.BLACK)
iv_left_icon.setImageResource(R.mipmap.ic_arrow_back)
iv_left_icon.visibility=View.VISIBLE
iv_left_icon.visibility = View.VISIBLE
tv_user.setOnClickListener(this)
tv_privacy.setOnClickListener(this)
}
override fun onClick(v: View?) {
when(v?.id){
when (v?.id) {
R.id.iv_left_icon -> finish()
R.id.tv_user->{
// startActivity(UseragreementActivity::class.java)
R.id.tv_user -> {
MintsWebViewActivity.startWebView(name = "用户协议", url = "http://test.mints-id.com/map-api/map/register.html")
}
R.id.tv_privacy->{
// startActivity(PrivacypolicyActivity::class.java)
R.id.tv_privacy -> {
MintsWebViewActivity.startWebView(name = "隐私协议", url = "http://test.mints-id.com/map-api/map/privacy.html")
}
}
}
......
......@@ -11,6 +11,7 @@ import com.mints.street.R
import com.mints.street.bean.UserBean
import com.mints.street.databinding.ActivityBindmobileBinding
import com.mints.street.main.MainActivity
import com.mints.street.manager.UserManager
import com.mints.street.utils.BackInputUtil
import com.tbruyelle.rxpermissions2.RxPermissions
import kotlinx.android.synthetic.main.activity_bindmobile.*
......@@ -126,6 +127,7 @@ class BindMobileActivity : BaseActivity<ActivityBindmobileBinding, BindMobileVie
}
}
}
//关闭线程
it.postDelayed(run, 1000)
}
}
......
......@@ -15,7 +15,6 @@ import androidx.lifecycle.Observer
import cn.sharesdk.framework.ShareSDK
import cn.sharesdk.wechat.friends.Wechat
import com.bumptech.glide.Glide
import com.bytedance.sdk.component.image.LoadConfig
import com.fry.base.base.BaseFragment
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.mints.street.BR
......@@ -33,9 +32,10 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import com.tbruyelle.rxpermissions2.RxPermissions
import kotlinx.android.synthetic.main.fragment_my.*
import me.goldze.mvvmhabit.utils.KLog
import me.goldze.mvvmhabit.base.AppManager
import me.goldze.mvvmhabit.utils.RxUtils
import me.goldze.mvvmhabit.utils.ToastUtils
import me.goldze.mvvmhabit.utils.systembar.StatusBarUtil
import java.util.*
......@@ -51,7 +51,6 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
private val loginApi by lazy { LoginApi() }
private var wxInfo: WXInfo? = null
//弹窗
private var mBottomSheetDialog: BottomSheetDialog? = null
private var iv_weixin: ImageView? = null
......@@ -68,6 +67,7 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
override fun initVariableId() = BR.viewModel
override fun initData() {
super.initData()
// StatusBarUtil.setHeightAndPadding(AppManager.getAppManager().currentActivity, binding.llMyRoot)
srl_my.setOnRefreshListener(this)
//隐藏立即领取
// bt_try.visibility = View.GONE
......
package com.mints.street.main.my
import android.app.Dialog
import android.graphics.Color
import android.os.Bundle
import android.text.TextUtils
import android.view.View
import androidx.lifecycle.Observer
import com.alibaba.android.vlayout.DelegateAdapter
......@@ -16,9 +16,13 @@ import com.mints.street.bean.PaymentBean
import com.mints.street.bean.VipBean
import com.mints.street.bean.WxPayParamBean
import com.mints.street.databinding.ActivityOpenvipBinding
import com.mints.street.main.MainActivity
import com.mints.street.manager.UserManager
import com.mints.street.widget.dialog.DialogListener
import com.mints.street.widget.dialog.DialogUtils
import kotlinx.android.synthetic.main.activity_openvip.*
import kotlinx.android.synthetic.main.include_header.*
import me.goldze.mvvmhabit.utils.AppUtils
import me.goldze.mvvmhabit.utils.ToastUtils
......@@ -26,13 +30,18 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
private var vLayout: VirtualLayoutManager? = null
private var mAdapter: DelegateAdapter? = null
private var pw_flag: Int = 1
private var vipList: MutableList<VipBean.ListBean>? = null
override fun initVariableId() = BR.viewModel
override fun initContentView(savedInstanceState: Bundle?) = R.layout.activity_openvip
override fun getStatusBarHeightView(): View? {
return null
}
override fun initData() {
super.initData()
//获取vip福利信息
viewModel.openvipInfo()
//获取支付方式
......@@ -57,23 +66,37 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
val page1 = layoutInflater.inflate(R.layout.view_data_page1, null)
val page2 = layoutInflater.inflate(R.layout.view_data_page2, null)
val page3 = layoutInflater.inflate(R.layout.view_data_page3, null)
val page4 = layoutInflater.inflate(R.layout.view_data_page4, null)
val page5 = layoutInflater.inflate(R.layout.view_data_page5, null)
val page6 = layoutInflater.inflate(R.layout.view_data_page6, null)
val page7 = layoutInflater.inflate(R.layout.view_data_page7, null)
val page8 = layoutInflater.inflate(R.layout.view_data_page8, null)
list.add(page1)
list.add(page2)
list.add(page3)
list.add(page4)
list.add(page5)
list.add(page6)
list.add(page7)
list.add(page8)
//设置显示的数据
cfp_data_viewpager.setViewList(list)
//设置header样式
tv_title.text = "成为会员"
tv_title.setTextColor(Color.WHITE)
iv_left_icon.setImageResource(R.mipmap.tt_shadow_lefterback_titlebar)
iv_left_icon.setImageResource(R.mipmap.ic_arrow_back_white)
iv_left_icon.setPadding(AppUtils.dp2Px(this, 15F), AppUtils.dp2Px(this, 15F),
AppUtils.dp2Px(this, 15F), AppUtils.dp2Px(this, 15F))
iv_left_icon.visibility = View.VISIBLE
header_line.visibility = View.GONE
//recycleView管理
//recycleView管理(展示套餐推荐)
vLayout = VirtualLayoutManager(this)
mAdapter = DelegateAdapter(vLayout, false)
binding.listview.adapter = mAdapter
binding.listview.layoutManager = vLayout
......@@ -83,13 +106,17 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
override fun initViewObservable() {
super.initViewObservable()
viewModel.Vipdata.observe(this, Observer<VipBean> {
vipList= it.list as MutableList<VipBean.ListBean>?
vipList = it.list as MutableList<VipBean.ListBean>?
//展示 推荐套餐内容
mAdapter?.addAdapter(GridPaymentAdapter(this, it.list!!))
})
viewModel.Paymentdata.observe(this, Observer<PaymentBean> {
if (it.list.isNullOrEmpty()) {
return@Observer
} else {
//设置 默认支付方式 (根据返回参数的第一个值)
setfirstpaymentwey(it.list!![0])
for (str in it.list!!) {
if (str.equals("WEIXIN")) {
ly_weixin.visibility = View.VISIBLE
......@@ -104,18 +131,31 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
}
private fun setfirstpaymentwey(paymentwey: String) {
if (paymentwey.equals("WEIXIN")) {
setOnChecked(1)
} else {
setOnChecked(2)
}
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.iv_left_icon -> finish()
R.id.ly_weixin->{//支付宝支付
R.id.iv_left_icon -> {
backvipDialog()
// finish()
}
R.id.ly_weixin -> {//微信支付
//设置选中样式
setOnChecked(1)
pw_flag = 1
setOnChecked(pw_flag)
}
R.id.ly_alipay->{//支付宝支付
R.id.ly_alipay -> {//支付宝支付
//设置选中样式
setOnChecked(2)
pw_flag=2
setOnChecked(pw_flag)
}
R.id.bt_try -> {
R.id.bt_try -> {//点击开通全球会员按钮
if (vipList != null && vipList!!.size > 0) {
// if (TextUtils.equals("weixin", payDialog?.payChannel)) {
// vipPresenter?.getVipPayParams("WEIXIN", vipList!![vipAdapter?.getPosition()].pid)
......@@ -127,13 +167,36 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
}
}
private fun backvipDialog() {
DialogUtils.showbackvipDialog(this, object : DialogListener() {
override fun onClick(dialog: Dialog?, v: View?) {
when (v?.id) {
R.id.tv_payment -> {//继续支付
if (dialog != null && dialog.isShowing) {
dialog.dismiss()
}
}
R.id.tv_close -> {//取消
startActivityThenKill(MainActivity::class.java)
}
}
}
})
}
/**
* 设置选中支付方式view样式
* 1--微信支付
* 2--支付宝支付
*/
private fun setOnChecked(paymentflag: Int?) {
when(paymentflag){
1->{//选中微信
when (paymentflag) {
1 -> {//选中微信
iv_weixin.setImageResource(R.mipmap.pay_select)
iv_alipay.setImageResource(R.mipmap.pay_unselect)
}
2->{//选中支付宝
2 -> {//选中支付宝
iv_weixin.setImageResource(R.mipmap.pay_unselect)
iv_alipay.setImageResource(R.mipmap.pay_select)
}
......
package com.mints.street.widget.dialog
import android.app.Dialog
import android.content.Context
import android.text.Html
import android.view.Gravity
import android.view.KeyEvent
import android.view.WindowManager
import android.widget.ImageView
import android.widget.TextView
import com.mints.street.R
/**
* 确认取消支付弹窗
*/
class BackVipDialog(context: Context, private val listener: DialogListener) :
Dialog(context, R.style.dialog) {
private val lp: WindowManager.LayoutParams
private val tv_payment: TextView
private val tv_close: TextView
init {
setContentView(R.layout.dialog_backvip)
// 设置window属性
lp = window!!.attributes
lp.gravity = Gravity.CENTER
lp.width = WindowManager.LayoutParams.WRAP_CONTENT
lp.windowAnimations = R.style.DialogAnimBottom
window!!.attributes = lp
// 设置外部不可关闭
setCancelable(false)
setCanceledOnTouchOutside(false)
setOnKeyListener { _, i, _ ->
i == KeyEvent.KEYCODE_BACK
}
// 查找View
tv_payment = findViewById(R.id.tv_payment)
tv_close = findViewById(R.id.tv_close)
tv_payment.setOnClickListener {
listener.onClick(it)
}
tv_close.setOnClickListener {
listener.onClick(it)
}
}
}
\ No newline at end of file
package com.mints.street.widget.dialog;
import android.app.Dialog;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StyleRes;
/**
* 描述:dialog屏幕适配
* 作者:孟崔广
* 邮箱:mengcga@163.com
*/
public abstract class BaseDialog extends Dialog {
public BaseDialog(@NonNull Context context) {
super(context);
}
public BaseDialog(@NonNull Context context, @StyleRes int themeResId) {
super(context, themeResId);
}
protected BaseDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
}
}
package com.mints.street.widget.dialog;
import android.app.Dialog;
import android.view.View;
import android.view.View.OnClickListener;
/**
* 自定义dialog父类监听
*
* @author renjl
*/
public abstract class DialogListener implements OnClickListener {
private Dialog mDialog;
public DialogListener(Dialog dialog) {
this.mDialog = dialog;
}
public DialogListener() { }
public void setDialog(Dialog dialog) {
mDialog = dialog;
}
@Override
public void onClick(View v) {
onClick(mDialog, v);
}
protected void onClick(Dialog dialog, View v) {
}
}
package com.mints.street.widget.dialog
import android.content.Context
import java.lang.ref.WeakReference
object DialogUtils{
/**
* 公众号请求弹框
*/
fun showbackvipDialog(ctx: Context, dialogListener: DialogListener) {
val weakReference = WeakReference<Context>(ctx)
val bonusDialog = BackVipDialog(weakReference.get()!!, dialogListener)
bonusDialog.show()
dialogListener.setDialog(bonusDialog)
}
}
\ No newline at end of file
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromYDelta="100%p"
android:toYDelta="0" />
<alpha
android:duration="500"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="750"
android:fromYDelta="0"
android:toYDelta="100%p" />
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="100dp"/>
<gradient
android:angle="0"
android:startColor="#EDCC6A"
android:endColor="#E6AD06"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="100dp" />
<solid android:color="#4D000000" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F1CA54" />
<solid android:color="#FFE8A4" />
<corners android:radius="100dp" />
</shape>
\ No newline at end of file
......@@ -46,14 +46,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="《用户协议》"/>
android:text="《注册协议》"/>
<TextView
android:id="@+id/tv_privacy"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="《隐私政策》"/>
android:text="《隐私协议》"/>
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="300dp"
android:layout_height="400dp"
android:background="@mipmap/icon_vip_cancel1">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.3" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.75" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
android:text="真的要放弃购买"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.501"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3D高清街景会员吗?"
android:textColor="#CCF1DEA4"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/textView14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<TextView
android:id="@+id/textView14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你有可能错过以下权益"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.501"
app:layout_constraintStart_toStartOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.333333" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.666" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.525" />
<ImageView
android:id="@+id/imageView9"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toTopOf="@+id/guideline11"
app:layout_constraintEnd_toStartOf="@+id/guideline9"
app:layout_constraintHorizontal_bias="0.554"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline"
app:srcCompat="@mipmap/icon_me1" />
<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="无限缩放"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@+id/guideline11"
app:layout_constraintEnd_toEndOf="@+id/imageView9"
app:layout_constraintStart_toStartOf="@+id/imageView9"
app:layout_constraintTop_toBottomOf="@+id/imageView9" />
<ImageView
android:id="@+id/imageView10"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView9"
app:layout_constraintEnd_toStartOf="@+id/guideline10"
app:layout_constraintStart_toStartOf="@+id/guideline9"
app:layout_constraintTop_toTopOf="@+id/imageView9"
app:srcCompat="@mipmap/icon_me2" />
<TextView
android:id="@+id/textView16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="国内外街景"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="@+id/textView15"
app:layout_constraintEnd_toStartOf="@+id/guideline10"
app:layout_constraintStart_toStartOf="@+id/guideline9"
app:layout_constraintTop_toTopOf="@+id/textView15" />
<ImageView
android:id="@+id/imageView11"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView10"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline10"
app:layout_constraintTop_toTopOf="@+id/imageView10"
app:srcCompat="@mipmap/icon_me3" />
<TextView
android:id="@+id/textView17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="VR全景"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="@+id/textView16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline10"
app:layout_constraintTop_toTopOf="@+id/textView16" />
<ImageView
android:id="@+id/imageView15"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toTopOf="@+id/guideline2"
app:layout_constraintEnd_toEndOf="@+id/imageView9"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="@+id/imageView9"
app:layout_constraintTop_toTopOf="@+id/guideline11"
app:srcCompat="@mipmap/icon_me4" />
<TextView
android:id="@+id/textView18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3D地图"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@+id/guideline2"
app:layout_constraintEnd_toEndOf="@+id/imageView15"
app:layout_constraintStart_toStartOf="@+id/imageView15"
app:layout_constraintTop_toBottomOf="@+id/imageView15" />
<ImageView
android:id="@+id/imageView17"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView15"
app:layout_constraintEnd_toStartOf="@+id/guideline10"
app:layout_constraintStart_toStartOf="@+id/guideline9"
app:layout_constraintTop_toTopOf="@+id/imageView15"
app:srcCompat="@mipmap/icon_me6" />
<TextView
android:id="@+id/textView19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="高清地图"
android:textColor="@color/white"
app:layout_constraintBottom_toTopOf="@+id/guideline2"
app:layout_constraintEnd_toStartOf="@+id/guideline10"
app:layout_constraintStart_toStartOf="@+id/guideline9"
app:layout_constraintTop_toBottomOf="@+id/imageView17" />
<ImageView
android:id="@+id/imageView19"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView17"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline10"
app:layout_constraintTop_toTopOf="@+id/imageView17"
app:srcCompat="@mipmap/icon_me7" />
<TextView
android:textColor="@color/white"
android:id="@+id/textView20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="历史影像"
app:layout_constraintBottom_toTopOf="@+id/guideline2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline10"
app:layout_constraintTop_toBottomOf="@+id/imageView19" />
<TextView
android:id="@+id/tv_payment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="55dp"
android:textStyle="bold"
android:paddingEnd="55dp"
android:paddingTop="7dp"
android:paddingBottom="7dp"
android:text="继续支付"
android:textColor="@color/black"
android:background="@drawable/shape_btn_friends_unenabled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline2"
app:layout_constraintVertical_bias="0.349" />
<TextView
android:id="@+id/tv_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="取消"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_payment" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -10,8 +10,8 @@
<LinearLayout
android:id="@+id/bg"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_width="80dp"
android:layout_height="130dp"
android:gravity="center"
android:orientation="vertical">
......@@ -27,7 +27,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF5722"
android:textSize="20dp"
android:textSize="28dp"
android:textStyle="bold" />
<TextView
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card"
android:orientation="vertical">
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
</LinearLayout>
\ No newline at end of file
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="无线放大不模糊"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="地面也能看清楚"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card1"
android:gravity="center_horizontal"
android:orientation="vertical">
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="国内外高清街景"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
</LinearLayout>
\ No newline at end of file
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="提供全休个城市高清实景"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card3"
android:gravity="center_horizontal"
android:orientation="vertical">
android:background="@mipmap/icon_card2"
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="VR全景视角"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
</LinearLayout>
\ No newline at end of file
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="720度沉浸式体验"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card4"
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="2D/3D任意切换"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="3D立体效果更真实"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card5"
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="查询国外地址"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="无需翻墙也可能看国外街景"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card5"
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="高清地图任意看"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="卫星/地形等地图高清不卡顿"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card6"
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="历史影像图数据"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="带你一起见证城市变迁"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/icon_card7"
android:gravity="center_vertical"
android:paddingLeft="15dp"
android:paddingTop="20dp">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="全球网红景点走一遍"
android:textStyle="bold"
android:textColor="#99000000"
android:typeface="serif"
android:textSize="20sp" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:textColor="#99000000"
android:layout_marginBottom="15dp"
android:text="出行旅游攻略提前看"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv2"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_openvipcard"
android:paddingLeft="20dp"
android:paddingTop="7dp"
android:paddingRight="20dp"
android:paddingBottom="7dp"
android:text="立即领取"
android:textColor="#CCFFFFFF"
android:textSize="14sp" />
</RelativeLayout>
\ No newline at end of file
......@@ -18,4 +18,8 @@
<color name="color_E6E6E6">#E6E6E6</color>
<color name="color_555">#555555</color>
<color name="color_8F6D21">#8F6D21</color>
<color name="color_0000">#00000000</color>
<color name="color_2B3238">#2B3238</color>
<color name="color_002444">#002444</color>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2015 [1076559197@qq.com | tchen0707@gmail.com]
~
~ Licensed under the Apache License, Version 2.0 (the "License”);
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<resources>
<drawable name="progress_bar_bg">@color/color_0000</drawable>
<drawable name="sr_primary">@color/color_2B3238</drawable>
<drawable name="sr_primary_r">@color/color_002444</drawable>
</resources>
\ No newline at end of file
......@@ -49,5 +49,19 @@
<item name="colorControlNormal">@color/black</item>
<item name="colorControlActivated">@color/black</item>
</style>
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@color/color_0000</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:background">@null</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:gravity">bottom</item>
</style>
<style name="DialogAnimBottom" parent="@android:style/Animation">
<item name="android:windowEnterAnimation">@anim/dialog_bottom_in</item>
<item name="android:windowExitAnimation">@anim/dialog_bottom_out</item>
</style>
</resources>
\ 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