Commit 90cfde25 authored by chengkun's avatar chengkun

Merge branch 'feature/dev_fight_order' of...

Merge branch 'feature/dev_fight_order' of https://git.yidian-inc.com:8021/bp/ShenghuoquanBusiness into feature/dev_fight_order
parents c0dc7d47 ebe280ae
......@@ -16,6 +16,8 @@ class XRouterPathConstants {
*/
const val DEMO_TEST_ACTIVITY = "/b/demo/demo_test"
const val H5_TEST_ACTIVITY = "/b/demo/h5_test"
/**
* BSetting组件内的页面
......
......@@ -6,6 +6,8 @@ import android.util.AttributeSet
import android.view.View
import android.view.ViewTreeObserver
import android.view.WindowManager
import androidx.annotation.ColorInt
import androidx.annotation.DrawableRes
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
......@@ -66,7 +68,7 @@ class CommonTopBarView @JvmOverloads constructor(
viewBinding.tvAction.isVisible = action.isNotEmpty()
viewBinding.tvAction.text = action
// 设置背景色
viewBinding.root.setBackgroundColor(
setBackgroundColor(
typeArray.getColor(
R.styleable.CommonTopBarView_CommonTopBarView_bg_color,
ContextCompat.getColor(context, R.color.transparent)
......@@ -96,12 +98,41 @@ class CommonTopBarView @JvmOverloads constructor(
}
/**
* 设置title
* 设置标题
*/
fun setTitle(title: String) {
viewBinding.tvTitle.text = title
}
/**
* 设置标题文字颜色
*/
fun setTitleTextColor(@ColorInt color: Int) {
viewBinding.tvTitle.setTextColor(color)
}
/**
* 设置背景色
*/
fun setRootBackgroundColor(@ColorInt color: Int) {
setBackgroundColor(color)
}
/**
* 设置返回按钮图标
*/
fun setBackImageResource(@DrawableRes resource: Int) {
viewBinding.ivBack.setImageResource(resource)
}
/**
* 设置横向内边距
* @param padding 单位: px
*/
fun setRootHorizontalPadding(padding: Int) {
setPadding(padding, 0, padding, 0)
}
/**
* 设置返回按钮是否可见
*/
......
......@@ -4,5 +4,6 @@
<application>
<activity android:name=".ui.DemoTestActivity" />
<activity android:name=".ui.H5TestActivity" />
</application>
</manifest>
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.bdemo.app
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.shenghuoquan.bdemo.ui.DemoTestActivity
import com.yidian.shenghuoquan.bdemo.ui.H5TestActivity
/**
......@@ -10,7 +11,8 @@ import com.yidian.shenghuoquan.bdemo.ui.DemoTestActivity
object ClassMapUtil {
val xPageNodeMap = mapOf(
XRouterPathConstants.Companion.DEMO_TEST_ACTIVITY to DemoTestActivity::class.java
XRouterPathConstants.Companion.DEMO_TEST_ACTIVITY to DemoTestActivity::class.java,
XRouterPathConstants.Companion.H5_TEST_ACTIVITY to H5TestActivity::class.java,
)
}
package com.yidian.shenghuoquan.bdemo.ui
import android.content.Intent
import android.os.Bundle
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.XRouterPathConstants
......@@ -29,6 +30,17 @@ class DemoTestActivity : BaseActivity<ActivityDemoTestBinding>() {
}
private fun initClick() {
testH5()
testOrderConfirm()
}
private fun testH5() {
viewBind.btnH5Test.clickAntiShake {
startActivity(Intent(this, H5TestActivity::class.java))
}
}
private fun testOrderConfirm() {
val list = mutableListOf<Goods>()
list.add(Goods(goodsSkuId = "04qbwzoazPixJUhfOppD", goodsSkuNum = 1, marketingId = 1, marketingType = 4))
val confirmOrderReqDto = ConfirmOrderRequest(businessFrom = 2, goodsList = list, marketingId = "79")
......
package com.yidian.shenghuoquan.bdemo.ui
import android.os.Bundle
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.XBirdPageConstants
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.extensions.clickAntiShake
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.bdemo.databinding.ActivityH5TestBinding
import com.yidian.xpage.XPageManager
class H5TestActivity : BaseActivity<ActivityH5TestBinding>() {
override fun getXPageName(): String {
return XRouterPathConstants.H5_TEST_ACTIVITY
}
override fun createViewBinding(): ActivityH5TestBinding {
return ActivityH5TestBinding.inflate(layoutInflater)
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initClick()
}
private fun initClick() {
viewBind.btnEnterPage.clickAntiShake {
val pageUrl = viewBind.etPath.text.trim().toString()
if (pageUrl.isBlank()) {
ToastUtils.showShortSafe("请输入页面地址及参数,才能进入")
return@clickAntiShake
}
// 进入页面
XPageManager.push(XRouterPathConstants.COMMON_WEB_VIEW_ACTIVITY, hashMapOf(Pair(XBirdPageConstants.PAGE_URL, pageUrl)))
}
}
}
......@@ -6,6 +6,17 @@
android:layout_height="match_parent">
<Button
android:id="@+id/btn_h5_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="H5调试"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25" />
<Button
android:id="@+id/btn_order_confirm"
android:layout_width="wrap_content"
......@@ -15,6 +26,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.3" />
app:layout_constraintVertical_bias="0.35" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/et_path"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp60"
android:background="@null"
android:hint="请输入页面路由地址及参数"
android:padding="@dimen/dp15"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_enter_page"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp15"
android:text="进入页面"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/et_path" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -22,8 +22,12 @@
android:id="@+id/common_top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_FD7823"
app:CommonTopBarView_title_text="确认订单" />
app:CommonTopBarView_back_img="@drawable/icon_back_white"
app:CommonTopBarView_bg_color="@color/color_FD7823"
app:CommonTopBarView_horizontal_padding="@dimen/dp10"
app:CommonTopBarView_statusBar_color="@color/color_FD7823"
app:CommonTopBarView_title_text="确认订单"
app:CommonTopBarView_title_text_color="@color/white" />
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
......
......@@ -127,7 +127,7 @@
android:id="@+id/tv_coupon_amount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{@string/discount_amount(data.discountFee)}"
android:text='@{"- " + @string/amount(data.discountFee)}'
android:textColor="@color/color_FB4653"
android:textSize="@dimen/sp14"
android:visibility="@{data.couponList.size() > 0 ? View.VISIBLE : View.GONE}"
......@@ -180,6 +180,17 @@
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount"
app:layout_constraintEnd_toStartOf="@id/tv_total_amount_symbol" />
<TextView
android:id="@+id/tv_total_amount_symbol"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/renminbi"
android:textColor="@color/black"
android:textSize="@dimen/sp14"
android:textStyle="bold"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount"
app:layout_constraintEnd_toStartOf="@id/tv_total_amount" />
<TextView
......@@ -187,7 +198,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp24"
android:text="@{@string/amount(data.payment)}"
android:text='@{String.format("%.2f", data.payment)}'
android:textColor="@color/black"
android:textSize="@dimen/sp18"
android:textStyle="bold"
......
......@@ -31,6 +31,5 @@
<string name="pickup_point_distance">距您: %fkm</string>
<string name="commodity_count">共%d件</string>
<string name="amount">¥%.2f</string>
<string name="discount_amount">- ¥%.2f</string>
<string name="pickup_point_contract_name">提货点联系人: %s</string>
</resources>
\ No newline at end of file
......@@ -8,7 +8,6 @@ import com.pingplusplus.android.Pingpp
import com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT
import com.yidian.bcommon.constant.XBirdPageConstants
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.bcommon.mvvm.BaseMvvmActivity
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.bcommon.widget.CommonHintDialog
......@@ -53,13 +52,7 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
}
url = webViewUrl
Timber.e("页面的URL : $webViewUrl")
// 判断目的页面,getXBridPageName 仅支持config文件中有的url,不支持ip+端口
when (XBridManager.getXBridPageName(webViewUrl)) {
XBirdPageConstants.COMMODITY_PUBLISH_COMMODITY -> initPublishCommodityWebView(webViewUrl)
else -> {
ToastUtils.showShortSafe("请传递pageUrl")
}
}
initPublishCommodityWebView(webViewUrl)
}
}
......@@ -73,11 +66,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
webView.webChromeClient = object : WebChromeClient() {
override fun onReceivedTitle(view: WebView?, title: String?) {
super.onReceivedTitle(view, title)
if (!title.isNullOrBlank()) {
Timber.tag("CommonWebView").e(" 页面title: $title")
initTitleBar(binding.include.toolbar, binding.include.tvTitle, title)
initPageTitle(title)
}
}
......@@ -91,6 +83,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
WebView.setWebContentsDebuggingEnabled(true)
}
private fun initPageTitle(title: String) {
binding.commonTopBar.setTitle(title)
}
override fun onDestroy() {
super.onDestroy()
if (::webView.isInitialized1) {
......
......@@ -11,11 +11,13 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include
android:id="@+id/include"
layout="@layout/layout_common_toolbar"
<com.yidian.bcommon.widget.CommonTopBarView
android:id="@+id/common_top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......@@ -27,7 +29,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/include" />
app:layout_constraintTop_toBottomOf="@id/common_top_bar" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ 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