Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
X
xxsq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王雪伟
xxsq
Commits
c9f665d9
Commit
c9f665d9
authored
Jun 02, 2022
by
王雪伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[提交人]:王雪伟
[提交简述] :小象省钱 [实现方案] :调整H5支付和UI
parent
f9d047c2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
508 additions
and
458 deletions
+508
-458
MainActivity.java
app/src/main/java/com/zxbw/xxsq/activity/MainActivity.java
+1
-2
H5PayUtil.kt
cms/src/main/java/com/zxhl/cms/pay/H5PayUtil.kt
+124
-0
PayDialog.kt
cms/src/main/java/com/zxhl/cms/pay/PayDialog.kt
+51
-108
dialog_pay_view.xml
cms/src/main/res/layout/dialog_pay_view.xml
+20
-4
CardDetailActivity.kt
...n/java/com/zxbw/modulemain/activity/CardDetailActivity.kt
+66
-107
OpenMemberOrderActivity.kt
...a/com/zxbw/modulemain/activity/OpenMemberOrderActivity.kt
+51
-113
RightsDetailActivity.kt
...java/com/zxbw/modulemain/activity/RightsDetailActivity.kt
+51
-6
ToPaySkillGoodsActivity.kt
...a/com/zxbw/modulemain/activity/ToPaySkillGoodsActivity.kt
+59
-99
NewBoxGoodsDetailActivity.kt
...zxbw/modulemain/box/activity/NewBoxGoodsDetailActivity.kt
+1
-1
img_banner_mh_bg.jpg
moduleMain/src/main/res/drawable-xhdpi/img_banner_mh_bg.jpg
+0
-0
img_banner_mh_bg.png
moduleMain/src/main/res/drawable-xhdpi/img_banner_mh_bg.png
+0
-0
activity_layout_card_detail.xml
...eMain/src/main/res/layout/activity_layout_card_detail.xml
+22
-4
activity_layout_member_order.xml
...Main/src/main/res/layout/activity_layout_member_order.xml
+21
-4
activity_layout_rights_detail.xml
...ain/src/main/res/layout/activity_layout_rights_detail.xml
+19
-4
activity_layout_to_pay_skill_goods.xml
...rc/main/res/layout/activity_layout_to_pay_skill_goods.xml
+20
-4
fragment_layout_home.xml
moduleMain/src/main/res/layout/fragment_layout_home.xml
+1
-1
item_layout_box_goods_view.xml
...leMain/src/main/res/layout/item_layout_box_goods_view.xml
+1
-1
No files found.
app/src/main/java/com/zxbw/xxsq/activity/MainActivity.java
View file @
c9f665d9
...
@@ -81,7 +81,6 @@ public class MainActivity extends BaseActivity implements NavigationBottomView.N
...
@@ -81,7 +81,6 @@ public class MainActivity extends BaseActivity implements NavigationBottomView.N
navigationView
=
findViewById
(
R
.
id
.
id_activity_main_fragment_navigation
);
navigationView
=
findViewById
(
R
.
id
.
id_activity_main_fragment_navigation
);
initListener
();
initListener
();
AdDataSupport
.
INSTANCE
.
init
(
this
);
AdDataSupport
.
INSTANCE
.
init
(
this
);
initFragment
();
mRestartLoginObservable
=
RxBus
.
get
().
register
(
Constant
.
REFRESH_LOGIN_STATS
,
String
.
class
);
mRestartLoginObservable
=
RxBus
.
get
().
register
(
Constant
.
REFRESH_LOGIN_STATS
,
String
.
class
);
mRestartLoginObservable
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
subscribe
(
new
Consumer
<
String
>()
{
mRestartLoginObservable
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
subscribe
(
new
Consumer
<
String
>()
{
@Override
@Override
...
@@ -94,7 +93,7 @@ public class MainActivity extends BaseActivity implements NavigationBottomView.N
...
@@ -94,7 +93,7 @@ public class MainActivity extends BaseActivity implements NavigationBottomView.N
}
}
});
});
initFragment
();
mSwitchMainObservable
=
RxBus
.
get
().
register
(
Constant
.
SWITCH_PAGE
,
Integer
.
class
);
mSwitchMainObservable
=
RxBus
.
get
().
register
(
Constant
.
SWITCH_PAGE
,
Integer
.
class
);
mSwitchMainObservable
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
subscribe
(
new
Consumer
<
Integer
>()
{
mSwitchMainObservable
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
@Override
...
...
cms/src/main/java/com/zxhl/cms/pay/H5PayUtil.kt
0 → 100644
View file @
c9f665d9
package
com.zxhl.cms.pay
import
android.app.Activity
import
android.content.Intent
import
android.net.Uri
import
android.net.http.SslError
import
android.util.Log
import
android.view.View
import
android.webkit.*
import
com.zxhl.cms.common.NetConfig
import
com.zxhl.cms.utils.EventUtils
import
kotlinx.android.synthetic.main.activity_member.*
/**
* @author (wangXuewei)
* @datetime 2022-06-02 10:53 GMT+8
* @detail :
*/
class
H5PayUtil
{
interface
H5PayCallBack
{
fun
jumpZfbAppSuc
();
fun
jumpZfbAppException
(
e
:
Exception
);
fun
loadH5Error1
(
errorStr
:
String
);
fun
loadH5Error2
(
errorStr
:
String
);
}
fun
loadH5PayWeb
(
mActivity
:
Activity
,
h5WebVIew
:
WebView
,
order
:
String
,
callBack
:
H5PayCallBack
)
{
val
webSettings
=
h5WebVIew
.
settings
//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
webSettings
.
javaScriptEnabled
=
true
//设置自适应屏幕,两者合用
webSettings
.
useWideViewPort
=
true
//将图片调整到适合webview的大小
webSettings
.
loadWithOverviewMode
=
true
// 缩放至屏幕的大小
//其他细节操作
webSettings
.
cacheMode
=
WebSettings
.
LOAD_NO_CACHE
//关闭webview中缓存
webSettings
.
allowFileAccess
=
true
//设置可以访问文件
webSettings
.
javaScriptCanOpenWindowsAutomatically
=
true
//支持通过JS打开新窗口
webSettings
.
loadsImagesAutomatically
=
true
//支持自动加载图片
webSettings
.
defaultTextEncodingName
=
"utf-8"
//设置编码格式
webSettings
.
domStorageEnabled
=
true
webSettings
.
allowFileAccessFromFileURLs
=
true
;
webSettings
.
allowUniversalAccessFromFileURLs
=
true
;
h5WebVIew
?.
setDownloadListener
{
url
,
userAgent
,
contentDisposition
,
mimetype
,
contentLength
->
var
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
))
mActivity
.
startActivity
(
intent
);
}
h5WebVIew
?.
webViewClient
=
object
:
WebViewClient
()
{
override
fun
shouldOverrideUrlLoading
(
view
:
WebView
?,
url
:
String
?):
Boolean
{
if
(
url
==
null
)
return
false
try
{
if
(
url
.
startsWith
(
"alipays://"
)
//支付宝
)
{
val
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
))
mActivity
.
startActivity
(
intent
)
callBack
.
jumpZfbAppSuc
()
return
true
}
}
catch
(
e
:
Exception
)
{
//防止crash (如果手机上没有安装处理某个scheme开头的url的APP, 会导致crash)
callBack
.
jumpZfbAppException
(
e
)
return
true
//没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面
}
view
?.
loadUrl
(
url
)
return
false
;
}
override
fun
onPageFinished
(
view
:
WebView
?,
url
:
String
?)
{
EventUtils
.
onEvent
(
"url_update"
,
"url: ${url}"
)
super
.
onPageFinished
(
view
,
url
)
if
(
url
?.
contains
(
NetConfig
.
H5
.
WEB_URL_H5_PAY
)
==
true
)
{
h5WebVIew
?.
loadUrl
(
"javascript:loadPayHtml('$order')"
);
}
}
override
fun
onReceivedSslError
(
view
:
WebView
?,
handler
:
SslErrorHandler
?,
error
:
SslError
?
)
{
// 接受所有网站的证书,忽略SSL错误,执行访问网页
handler
?.
proceed
();
}
override
fun
onReceivedError
(
view
:
WebView
?,
request
:
WebResourceRequest
?,
error
:
WebResourceError
?
)
{
super
.
onReceivedError
(
view
,
request
,
error
)
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
>=
android
.
os
.
Build
.
VERSION_CODES
.
M
)
{
callBack
.
loadH5Error1
(
"code: ${error?.errorCode} desc: ${error?.description}"
)
}
else
{
callBack
.
loadH5Error1
(
error
.
toString
())
}
}
override
fun
onReceivedHttpError
(
view
:
WebView
?,
request
:
WebResourceRequest
?,
errorResponse
:
WebResourceResponse
?
)
{
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
>=
android
.
os
.
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
request
?.
url
?.
path
?.
endsWith
(
"/favicon.ico"
)
==
true
)
{
}
else
{
callBack
.
loadH5Error2
(
"code:"
+
errorResponse
?.
statusCode
.
toString
()
+
" url:${request?.url}"
)
}
}
else
{
callBack
.
loadH5Error2
(
errorResponse
.
toString
())
}
super
.
onReceivedHttpError
(
view
,
request
,
errorResponse
)
}
}
h5WebVIew
.
loadUrl
(
NetConfig
.
H5
.
WEB_URL_H5_PAY
)
}
}
\ No newline at end of file
cms/src/main/java/com/zxhl/cms/pay/PayDialog.kt
View file @
c9f665d9
...
@@ -43,6 +43,7 @@ object PayDialog : PayContract.View {
...
@@ -43,6 +43,7 @@ object PayDialog : PayContract.View {
private
var
mPresenter
:
PayContract
.
Presenter
?
=
null
private
var
mPresenter
:
PayContract
.
Presenter
?
=
null
private
var
pay_type
:
Int
?
=
0
private
var
pay_type
:
Int
?
=
0
private
var
id_rl_h5_pay_view
:
RelativeLayout
?
=
null
;
private
var
id_pay_web_view
:
WebView
?
=
null
;
private
var
id_pay_web_view
:
WebView
?
=
null
;
private
var
id_rl_zfb_pay
:
RelativeLayout
?
=
null
;
private
var
id_rl_zfb_pay
:
RelativeLayout
?
=
null
;
private
var
id_img_ali
:
ImageView
?
=
null
;
private
var
id_img_ali
:
ImageView
?
=
null
;
...
@@ -61,6 +62,19 @@ object PayDialog : PayContract.View {
...
@@ -61,6 +62,19 @@ object PayDialog : PayContract.View {
mLoading
?.
setResult
(
false
,
"取消支付"
,
1000
)
mLoading
?.
setResult
(
false
,
"取消支付"
,
1000
)
}
}
}
}
1
->
{
if
(
mLoading
!=
null
)
{
mLoading
?.
setResult
(
false
,
"支付异常"
,
0
)
}
id_rl_h5_pay_view
?.
visibility
=
View
.
VISIBLE
EventUtils
.
onEvent
(
"h5_pay_end"
)
}
2
->
{
if
(
mLoading
!=
null
)
{
mLoading
?.
setResult
(
false
,
"支付异常"
,
0
)
}
id_rl_h5_pay_view
?.
visibility
=
View
.
VISIBLE
}
}
}
false
false
}
}
...
@@ -102,6 +116,8 @@ object PayDialog : PayContract.View {
...
@@ -102,6 +116,8 @@ object PayDialog : PayContract.View {
val
tv_goods_pay_btn_price
=
mDialogView
.
findViewById
<
TextView
>(
R
.
id
.
id_activity_member_btn
)
val
tv_goods_pay_btn_price
=
mDialogView
.
findViewById
<
TextView
>(
R
.
id
.
id_activity_member_btn
)
val
id_rcl_payment_list
=
mDialogView
.
findViewById
<
RecyclerView
>(
R
.
id
.
id_rcl_payment_list
)
val
id_rcl_payment_list
=
mDialogView
.
findViewById
<
RecyclerView
>(
R
.
id
.
id_rcl_payment_list
)
id_rl_h5_pay_view
=
mDialogView
.
findViewById
<
RelativeLayout
>(
R
.
id
.
id_rl_h5_pay_view
)
id_pay_web_view
=
mDialogView
.
findViewById
<
WebView
>(
R
.
id
.
id_pay_web_view
)
id_pay_web_view
=
mDialogView
.
findViewById
<
WebView
>(
R
.
id
.
id_pay_web_view
)
id_rl_zfb_pay
=
mDialogView
.
findViewById
<
RelativeLayout
>(
R
.
id
.
id_rl_zfb_pay
)
id_rl_zfb_pay
=
mDialogView
.
findViewById
<
RelativeLayout
>(
R
.
id
.
id_rl_zfb_pay
)
id_img_ali
=
mDialogView
.
findViewById
<
ImageView
>(
R
.
id
.
id_img_ali
)
id_img_ali
=
mDialogView
.
findViewById
<
ImageView
>(
R
.
id
.
id_img_ali
)
...
@@ -109,7 +125,9 @@ object PayDialog : PayContract.View {
...
@@ -109,7 +125,9 @@ object PayDialog : PayContract.View {
id_tv_zfb_1
=
mDialogView
.
findViewById
<
TextView
>(
R
.
id
.
id_tv_zfb_1
)
id_tv_zfb_1
=
mDialogView
.
findViewById
<
TextView
>(
R
.
id
.
id_tv_zfb_1
)
id_rl_min_pay
=
mDialogView
.
findViewById
<
RelativeLayout
>(
R
.
id
.
id_rl_min_pay
)
id_rl_min_pay
=
mDialogView
.
findViewById
<
RelativeLayout
>(
R
.
id
.
id_rl_min_pay
)
id_tv_zfb_2
=
mDialogView
.
findViewById
<
TextView
>(
R
.
id
.
id_tv_zfb_2
)
id_tv_zfb_2
=
mDialogView
.
findViewById
<
TextView
>(
R
.
id
.
id_tv_zfb_2
)
mDialogView
.
findViewById
<
ImageView
>(
R
.
id
.
id_img_close_pay_web
).
setOnClickListener
{
id_rl_h5_pay_view
?.
visibility
=
View
.
GONE
}
if
(!
context
.
isFinishing
)
{
if
(!
context
.
isFinishing
)
{
Glide
.
with
(
context
).
load
(
goodsImg
).
into
(
tv_goodsMainImg
)
Glide
.
with
(
context
).
load
(
goodsImg
).
into
(
tv_goodsMainImg
)
...
@@ -236,7 +254,38 @@ object PayDialog : PayContract.View {
...
@@ -236,7 +254,38 @@ object PayDialog : PayContract.View {
EventUtils
.
onEvent
(
"h5_pay_error"
)
EventUtils
.
onEvent
(
"h5_pay_error"
)
showResultLoading
(
false
)
showResultLoading
(
false
)
}
else
{
}
else
{
loadH5Pay
(
form
)
if
(
mActivity
==
null
)
{
return
}
if
(
mActivity
?.
isDestroyed
==
true
)
{
return
}
mHandler
.
sendEmptyMessageDelayed
(
1
,
8000
)
H5PayUtil
().
loadH5PayWeb
(
mActivity
!!
,
id_pay_web_view
!!
,
form
,
object
:
H5PayUtil
.
H5PayCallBack
{
override
fun
jumpZfbAppSuc
()
{
id_rl_h5_pay_view
?.
visibility
=
View
.
GONE
EventUtils
.
onEvent
(
"h5_open_zfb_suc"
)
mHandler
.
removeMessages
(
1
)
}
override
fun
jumpZfbAppException
(
e
:
Exception
)
{
EventUtils
.
onEvent
(
"h5_open_zfb_error"
,
e
.
toString
())
mHandler
.
removeMessages
(
1
)
mHandler
.
sendEmptyMessage
(
2
)
}
override
fun
loadH5Error1
(
errorStr
:
String
)
{
EventUtils
.
onEvent
(
"h5_pay_error1"
,
errorStr
)
}
override
fun
loadH5Error2
(
errorStr
:
String
)
{
EventUtils
.
onEvent
(
"h5_pay_error2"
,
errorStr
)
}
})
}
}
}
}
...
@@ -288,110 +337,4 @@ object PayDialog : PayContract.View {
...
@@ -288,110 +337,4 @@ object PayDialog : PayContract.View {
}
}
}
}
private
fun
loadH5Pay
(
form
:
String
)
{
// id_pay_web_view?.visibility = View.VISIBLE
Log
.
d
(
"wxw"
,
"startTime"
+
System
.
currentTimeMillis
())
val
webSettings
=
id_pay_web_view
?.
settings
//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
webSettings
?.
javaScriptEnabled
=
true
//设置自适应屏幕,两者合用
webSettings
?.
useWideViewPort
=
true
//将图片调整到适合webview的大小
webSettings
?.
loadWithOverviewMode
=
true
// 缩放至屏幕的大小
//其他细节操作
webSettings
?.
cacheMode
=
WebSettings
.
LOAD_NO_CACHE
//关闭webview中缓存
webSettings
?.
allowFileAccess
=
true
//设置可以访问文件
webSettings
?.
javaScriptCanOpenWindowsAutomatically
=
true
//支持通过JS打开新窗口
webSettings
?.
loadsImagesAutomatically
=
true
//支持自动加载图片
webSettings
?.
defaultTextEncodingName
=
"utf-8"
//设置编码格式
webSettings
?.
domStorageEnabled
=
true
webSettings
?.
allowFileAccessFromFileURLs
=
true
;
webSettings
?.
allowUniversalAccessFromFileURLs
=
true
;
id_pay_web_view
?.
webViewClient
=
object
:
WebViewClient
()
{
override
fun
shouldOverrideUrlLoading
(
view
:
WebView
?,
url
:
String
?):
Boolean
{
Log
.
e
(
"WXW"
,
"dURL"
+
url
.
toString
())
if
(
url
==
null
)
return
false
try
{
if
(
url
.
startsWith
(
"alipays://"
)
//支付宝
)
{
val
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
))
mActivity
?.
startActivity
(
intent
)
EventUtils
.
onEvent
(
"h5_open_zfb_suc"
)
return
true
}
}
catch
(
e
:
Exception
)
{
//防止crash (如果手机上没有安装处理某个scheme开头的url的APP, 会导致crash)
EventUtils
.
onEvent
(
"h5_open_zfb_error"
,
e
.
toString
())
showResultLoading
(
false
)
return
true
//没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面
}
//处理http和https开头的url
// view?.loadUrl(url)
return
false
}
override
fun
onPageFinished
(
view
:
WebView
?,
url
:
String
?)
{
Log
.
e
(
"WXW"
,
"cURL"
+
url
.
toString
())
Log
.
d
(
"wxw"
,
"EndTime"
+
System
.
currentTimeMillis
())
super
.
onPageFinished
(
view
,
url
)
if
(
url
?.
contains
(
NetConfig
.
H5
.
WEB_URL_H5_PAY
)
==
true
)
{
id_pay_web_view
?.
loadUrl
(
"javascript:loadPayHtml('$form')"
);
}
}
override
fun
onReceivedSslError
(
view
:
WebView
?,
handler
:
SslErrorHandler
?,
error
:
SslError
?
)
{
// 接受所有网站的证书,忽略SSL错误,执行访问网页
handler
?.
proceed
();
}
override
fun
onReceivedError
(
view
:
WebView
?,
request
:
WebResourceRequest
?,
error
:
WebResourceError
?
)
{
super
.
onReceivedError
(
view
,
request
,
error
)
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
>=
android
.
os
.
Build
.
VERSION_CODES
.
M
)
{
// Log.d("wxw", "1error${error?.errorCode}")
// Log.d("wxw", "2error${error?.description}")
EventUtils
.
onEvent
(
"h5_pay_error1"
,
"code: ${error?.errorCode} desc: ${error?.description}"
)
}
else
{
EventUtils
.
onEvent
(
"h5_pay_error1"
,
error
.
toString
())
}
showResultLoading
(
false
)
}
override
fun
onReceivedHttpError
(
view
:
WebView
?,
request
:
WebResourceRequest
?,
errorResponse
:
WebResourceResponse
?
)
{
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
>=
android
.
os
.
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
request
?.
url
?.
path
?.
endsWith
(
"/favicon.ico"
)
==
true
)
{
}
else
{
// Log.d("wxw", "1errorResponse?.statusCode${request?.url}")
// Log.d("wxw", "2errorResponse?.statusCode${errorResponse?.statusCode}")
EventUtils
.
onEvent
(
"h5_pay_error2"
,
errorResponse
?.
statusCode
.
toString
()
+
" url:${request?.url}"
)
showResultLoading
(
false
)
}
}
else
{
EventUtils
.
onEvent
(
"h5_pay_error2"
,
errorResponse
.
toString
())
showResultLoading
(
false
)
}
super
.
onReceivedHttpError
(
view
,
request
,
errorResponse
)
}
}
id_pay_web_view
?.
loadUrl
(
NetConfig
.
H5
.
WEB_URL_H5_PAY
)
}
}
}
\ No newline at end of file
cms/src/main/res/layout/dialog_pay_view.xml
View file @
c9f665d9
...
@@ -256,9 +256,25 @@
...
@@ -256,9 +256,25 @@
android:layout_alignParentRight=
"true"
android:layout_alignParentRight=
"true"
android:padding=
"10dp"
android:padding=
"10dp"
android:src=
"@drawable/icon_guanbi"
/>
android:src=
"@drawable/icon_guanbi"
/>
<RelativeLayout
android:id=
"@+id/id_rl_h5_pay_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:visibility=
"gone"
>
<WebView
<WebView
android:id=
"@+id/id_pay_web_view"
android:id=
"@+id/id_pay_web_view"
android:visibility=
"gone"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
/>
<ImageView
android:id=
"@+id/id_img_close_pay_web"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignRight=
"@id/id_pay_web_view"
android:padding=
"10dp"
android:src=
"@drawable/icon_guanbi"
/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
\ No newline at end of file
moduleMain/src/main/java/com/zxbw/modulemain/activity/CardDetailActivity.kt
View file @
c9f665d9
This diff is collapsed.
Click to expand it.
moduleMain/src/main/java/com/zxbw/modulemain/activity/OpenMemberOrderActivity.kt
View file @
c9f665d9
...
@@ -20,9 +20,7 @@ import com.zxhl.cms.net.callback.BaseObserver
...
@@ -20,9 +20,7 @@ import com.zxhl.cms.net.callback.BaseObserver
import
com.zxhl.cms.net.model.box.AppInEntity
import
com.zxhl.cms.net.model.box.AppInEntity
import
com.zxhl.cms.net.model.uc.PayResultEntity
import
com.zxhl.cms.net.model.uc.PayResultEntity
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.pay.PayContract
import
com.zxhl.cms.pay.*
import
com.zxhl.cms.pay.PayPresenter
import
com.zxhl.cms.pay.PaymentFunAdapter
import
com.zxhl.cms.utils.*
import
com.zxhl.cms.utils.*
import
com.zxhl.cms.widget.LoadingDialog
import
com.zxhl.cms.widget.LoadingDialog
import
io.reactivex.Observable
import
io.reactivex.Observable
...
@@ -118,6 +116,9 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
...
@@ -118,6 +116,9 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
id_img_back
?.
setOnClickListener
{
id_img_back
?.
setOnClickListener
{
finish
()
finish
()
}
}
id_img_close_pay_web
?.
setOnClickListener
{
id_rl_h5_pay_view
?.
visibility
=
View
.
GONE
}
}
}
override
fun
data
()
{
override
fun
data
()
{
...
@@ -186,23 +187,46 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
...
@@ -186,23 +187,46 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
EventUtils
.
onEvent
(
"h5_pay_error"
)
EventUtils
.
onEvent
(
"h5_pay_error"
)
showResultLoading
(
false
)
showResultLoading
(
false
)
}
else
{
}
else
{
loadH5Pay
(
form
)
mHandler
.
sendEmptyMessageDelayed
(
1
,
8000
)
H5PayUtil
().
loadH5PayWeb
(
this
,
id_member_pay_web_view
,
form
,
object
:
H5PayUtil
.
H5PayCallBack
{
override
fun
jumpZfbAppSuc
()
{
id_rl_h5_pay_view
?.
visibility
=
View
.
GONE
EventUtils
.
onEvent
(
"h5_open_zfb_suc"
)
mHandler
.
removeMessages
(
1
)
}
override
fun
jumpZfbAppException
(
e
:
Exception
)
{
EventUtils
.
onEvent
(
"h5_open_zfb_error"
,
e
.
toString
())
mHandler
.
removeMessages
(
1
)
mHandler
.
sendEmptyMessage
(
2
)
}
override
fun
loadH5Error1
(
errorStr
:
String
)
{
EventUtils
.
onEvent
(
"h5_pay_error1"
,
errorStr
)
}
override
fun
loadH5Error2
(
errorStr
:
String
)
{
EventUtils
.
onEvent
(
"h5_pay_error2"
,
errorStr
)
}
})
}
}
}
}
override
fun
verifyOrderSuc
(
orsder
:
String
)
{
override
fun
verifyOrderSuc
(
orsder
:
String
)
{
EventUtils
.
onEvent
(
"pay_suc"
)
EventUtils
.
onEvent
(
"pay_suc"
)
UserDataUtils
.
updateUserInfo
(
object
:
AdCallback
<
String
>
{
UserDataUtils
.
updateUserInfo
{
code
,
result
->
override
fun
onResult
(
code
:
Int
,
result
:
String
?)
{
Constant
.
Switch
.
isOpenVip
=
true
Constant
.
Switch
.
isOpenVip
=
true
val
userInfoData
=
SettingPreference
.
getUserInfoData
()
val
userInfoData
=
SettingPreference
.
getUserInfoData
()
if
(
userInfoData
!=
null
)
{
if
(
userInfoData
!=
null
)
{
Constant
.
Switch
.
isOpenVip
=
userInfoData
.
member
Constant
.
Switch
.
isOpenVip
=
userInfoData
.
member
?:
false
}
}
showResultLoading
(
true
)
showResultLoading
(
true
)
finish
()
finish
()
}
}
})
}
}
...
@@ -244,6 +268,19 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
...
@@ -244,6 +268,19 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
mLoading
?.
setResult
(
false
,
"取消支付"
,
1000
)
mLoading
?.
setResult
(
false
,
"取消支付"
,
1000
)
}
}
}
}
1
->
{
if
(
mLoading
!=
null
)
{
mLoading
?.
setResult
(
false
,
"支付异常"
,
0
)
}
id_rl_h5_pay_view
.
visibility
=
View
.
VISIBLE
EventUtils
.
onEvent
(
"h5_pay_end"
)
}
2
->
{
if
(
mLoading
!=
null
)
{
mLoading
?.
setResult
(
false
,
"支付异常"
,
0
)
}
id_rl_h5_pay_view
.
visibility
=
View
.
VISIBLE
}
}
}
false
false
}
}
...
@@ -272,105 +309,6 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
...
@@ -272,105 +309,6 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
timer
=
null
timer
=
null
}
}
private
fun
loadH5Pay
(
form
:
String
)
{
mHandler
?.
sendEmptyMessageDelayed
(
0
,
8000
)
val
webSettings
=
id_member_pay_web_view
.
settings
//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
webSettings
.
javaScriptEnabled
=
true
//设置自适应屏幕,两者合用
webSettings
.
useWideViewPort
=
true
//将图片调整到适合webview的大小
webSettings
.
loadWithOverviewMode
=
true
// 缩放至屏幕的大小
//其他细节操作
webSettings
.
cacheMode
=
WebSettings
.
LOAD_NO_CACHE
//关闭webview中缓存
webSettings
.
allowFileAccess
=
true
//设置可以访问文件
webSettings
.
javaScriptCanOpenWindowsAutomatically
=
true
//支持通过JS打开新窗口
webSettings
.
loadsImagesAutomatically
=
true
//支持自动加载图片
webSettings
.
defaultTextEncodingName
=
"utf-8"
//设置编码格式
webSettings
.
domStorageEnabled
=
true
webSettings
.
allowFileAccessFromFileURLs
=
true
;
webSettings
.
allowUniversalAccessFromFileURLs
=
true
;
id_member_pay_web_view
?.
webViewClient
=
object
:
WebViewClient
()
{
override
fun
shouldOverrideUrlLoading
(
view
:
WebView
?,
url
:
String
?):
Boolean
{
if
(
url
==
null
)
return
false
try
{
if
(
url
.
startsWith
(
"alipays://"
)
//支付宝
)
{
val
intent
=
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
url
))
startActivity
(
intent
)
EventUtils
.
onEvent
(
"h5_open_zfb_suc"
)
mHandler
?.
removeMessages
(
0
)
return
true
}
}
catch
(
e
:
Exception
)
{
//防止crash (如果手机上没有安装处理某个scheme开头的url的APP, 会导致crash)
EventUtils
.
onEvent
(
"h5_open_zfb_error"
,
e
.
toString
())
mHandler
?.
removeMessages
(
0
)
showResultLoading
(
false
)
return
true
//没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面
}
//处理http和https开头的url
// view?.loadUrl(url)?
return
false
}
override
fun
onPageFinished
(
view
:
WebView
?,
url
:
String
?)
{
super
.
onPageFinished
(
view
,
url
)
if
(
url
?.
contains
(
NetConfig
.
H5
.
WEB_URL_H5_PAY
)
==
true
)
{
id_member_pay_web_view
?.
loadUrl
(
"javascript:loadPayHtml('$form')"
);
}
}
override
fun
onReceivedSslError
(
view
:
WebView
?,
handler
:
SslErrorHandler
?,
error
:
SslError
?
)
{
// 接受所有网站的证书,忽略SSL错误,执行访问网页
handler
?.
proceed
();
}
override
fun
onReceivedError
(
view
:
WebView
?,
request
:
WebResourceRequest
?,
error
:
WebResourceError
?
)
{
super
.
onReceivedError
(
view
,
request
,
error
)
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
>=
android
.
os
.
Build
.
VERSION_CODES
.
M
)
{
// Log.d("wxw", "1error${error?.errorCode}")
// Log.d("wxw", "2error${error?.description}")
EventUtils
.
onEvent
(
"h5_pay_error1"
,
"code: ${error?.errorCode} desc: ${error?.description}"
)
}
else
{
EventUtils
.
onEvent
(
"h5_pay_error1"
,
error
.
toString
())
}
}
override
fun
onReceivedHttpError
(
view
:
WebView
?,
request
:
WebResourceRequest
?,
errorResponse
:
WebResourceResponse
?
)
{
if
(
android
.
os
.
Build
.
VERSION
.
SDK_INT
>=
android
.
os
.
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
request
?.
url
?.
path
?.
endsWith
(
"/favicon.ico"
)
==
true
)
{
}
else
{
EventUtils
.
onEvent
(
"h5_pay_error2"
,
errorResponse
?.
statusCode
.
toString
()
+
" url:${request?.url}"
)
}
}
else
{
EventUtils
.
onEvent
(
"h5_pay_error2"
,
errorResponse
.
toString
())
}
super
.
onReceivedHttpError
(
view
,
request
,
errorResponse
)
}
}
id_member_pay_web_view
.
loadUrl
(
NetConfig
.
H5
.
WEB_URL_H5_PAY
)
}
var
timer
:
Timer
?
=
null
var
timer
:
Timer
?
=
null
private
fun
vipTime
()
{
private
fun
vipTime
()
{
var
timeCount
=
15
*
60
var
timeCount
=
15
*
60
...
...
moduleMain/src/main/java/com/zxbw/modulemain/activity/RightsDetailActivity.kt
View file @
c9f665d9
...
@@ -25,7 +25,9 @@ import com.zxhl.cms.net.SettingPreference
...
@@ -25,7 +25,9 @@ import com.zxhl.cms.net.SettingPreference
import
com.zxhl.cms.net.model.qy.RightsDetailEntity
import
com.zxhl.cms.net.model.qy.RightsDetailEntity
import
com.zxhl.cms.net.model.uc.AliPayEntity
import
com.zxhl.cms.net.model.uc.AliPayEntity
import
com.zxhl.cms.net.model.uc.PayResultEntity
import
com.zxhl.cms.net.model.uc.PayResultEntity
import
com.zxhl.cms.pay.H5PayUtil
import
com.zxhl.cms.pay.PayActivity
import
com.zxhl.cms.pay.PayActivity
import
com.zxhl.cms.pay.PayDialog
import
com.zxhl.cms.pay.alipay.AlipayServer
import
com.zxhl.cms.pay.alipay.AlipayServer
import
com.zxhl.cms.utils.*
import
com.zxhl.cms.utils.*
import
com.zxhl.cms.widget.LoadingDialog
import
com.zxhl.cms.widget.LoadingDialog
...
@@ -50,7 +52,7 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
...
@@ -50,7 +52,7 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
private
var
brandName
:
String
=
""
;
private
var
brandName
:
String
=
""
;
private
var
mRightsData
:
RightsDetailEntity
?
=
null
private
var
mRightsData
:
RightsDetailEntity
?
=
null
private
var
mLoading
:
LoadingDialog
?
=
null
private
var
mLoading
:
LoadingDialog
?
=
null
var
skill
:
Boolean
?=
false
var
skill
:
Boolean
?
=
false
override
fun
layoutID
():
Int
{
override
fun
layoutID
():
Int
{
return
R
.
layout
.
activity_layout_rights_detail
return
R
.
layout
.
activity_layout_rights_detail
}
}
...
@@ -71,6 +73,7 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
...
@@ -71,6 +73,7 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
id_img_back2
.
setOnClickListener
(
this
)
id_img_back2
.
setOnClickListener
(
this
)
id_tv_buy_right
.
setOnClickListener
(
this
)
id_tv_buy_right
.
setOnClickListener
(
this
)
id_tv_btn_order
.
setOnClickListener
(
this
)
id_tv_btn_order
.
setOnClickListener
(
this
)
id_img_close_pay_web
.
setOnClickListener
(
this
)
//权益名称
//权益名称
brandName
=
intent
?.
data
?.
getQueryParameter
(
"brandName"
)
?:
""
brandName
=
intent
?.
data
?.
getQueryParameter
(
"brandName"
)
?:
""
...
@@ -112,6 +115,9 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
...
@@ -112,6 +115,9 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
JumpUtils
.
MyOrderJump
(
""
)
JumpUtils
.
MyOrderJump
(
""
)
finish
()
finish
()
}
}
id_img_close_pay_web
->
{
id_rl_h5_pay_view
?.
visibility
=
View
.
GONE
}
}
}
}
}
...
@@ -226,6 +232,19 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
...
@@ -226,6 +232,19 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
mLoading
?.
setResult
(
false
,
"取消支付"
,
1000
)
mLoading
?.
setResult
(
false
,
"取消支付"
,
1000
)
}
}
}
}
1
->
{
if
(
mLoading
!=
null
)
{
mLoading
?.
setResult
(
false
,
"支付异常"
,
0
)
}
id_rl_h5_pay_view
.
visibility
=
View
.
VISIBLE
EventUtils
.
onEvent
(
"h5_pay_end"
)
}
2
->
{
if
(
mLoading
!=
null
)
{
mLoading
?.
setResult
(
false
,
"支付异常"
,
0
)
}
id_rl_h5_pay_view
.
visibility
=
View
.
VISIBLE
}
}
}
false
false
}
}
...
@@ -240,7 +259,32 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
...
@@ -240,7 +259,32 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
EventUtils
.
onEvent
(
"h5_pay_error"
)
EventUtils
.
onEvent
(
"h5_pay_error"
)
showResultLoading
(
false
)
showResultLoading
(
false
)
}
else
{
}
else
{
loadH5Pay
(
result
.
outTradeNo
!!
)
mHandler
.
sendEmptyMessageDelayed
(
1
,
8000
)
H5PayUtil
().
loadH5PayWeb
(
this
,
id_rights_pay_web_view
,
result
.
outTradeNo
?:
""
,
object
:
H5PayUtil
.
H5PayCallBack
{
override
fun
jumpZfbAppSuc
()
{
id_rl_h5_pay_view
.
visibility
=
View
.
GONE
EventUtils
.
onEvent
(
"h5_open_zfb_suc"
)
mHandler
.
removeMessages
(
1
)
}
override
fun
jumpZfbAppException
(
e
:
Exception
)
{
EventUtils
.
onEvent
(
"h5_open_zfb_error"
,
e
.
toString
())
mHandler
.
removeMessages
(
1
)
mHandler
.
sendEmptyMessage
(
2
)
}
override
fun
loadH5Error1
(
errorStr
:
String
)
{
EventUtils
.
onEvent
(
"h5_pay_error1"
,
errorStr
)
}
override
fun
loadH5Error2
(
errorStr
:
String
)
{
EventUtils
.
onEvent
(
"h5_pay_error2"
,
errorStr
)
}
})
}
}
}
else
if
(
pay_type
==
ALI_PAY
)
{
}
else
if
(
pay_type
==
ALI_PAY
)
{
AlipayServer
.
payV2
(
this
,
result
.
wakeup
!!
)
AlipayServer
.
payV2
(
this
,
result
.
wakeup
!!
)
...
@@ -279,18 +323,19 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
...
@@ -279,18 +323,19 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
super
.
onPause
()
super
.
onPause
()
isPause
=
true
isPause
=
true
}
}
private
var
isPause
=
false
private
var
isPause
=
false
private
var
isClickPayBtn
=
false
private
var
isClickPayBtn
=
false
override
fun
onResume
()
{
override
fun
onResume
()
{
super
.
onResume
()
super
.
onResume
()
Log
.
d
(
"wxw"
,
"OnResume"
)
Log
.
d
(
"wxw"
,
"OnResume"
)
if
(
isPause
&&
isClickPayBtn
)
{
if
(
isPause
&&
isClickPayBtn
)
{
Log
.
d
(
"wxw"
,
"1OnResume"
+
pay_type
)
Log
.
d
(
"wxw"
,
"1OnResume"
+
pay_type
)
if
(
pay_type
==
PayActivity
.
MIN_PAY_PROGRAM
||
pay_type
==
PayActivity
.
H5_PAY
)
{
if
(
pay_type
==
PayActivity
.
MIN_PAY_PROGRAM
||
pay_type
==
PayActivity
.
H5_PAY
)
{
//如果是敏支付或者H5支付
//如果是敏支付或者H5支付
mPayPresenter
?.
verifyPay
(
SettingPreference
.
getOutTradeNo
(),
pay_type
!!
)
mPayPresenter
?.
verifyPay
(
SettingPreference
.
getOutTradeNo
(),
pay_type
!!
)
}
else
{
}
else
{
Log
.
d
(
"wxw"
,
"2OnResume"
+
pay_type
)
Log
.
d
(
"wxw"
,
"2OnResume"
+
pay_type
)
mHandler
?.
sendEmptyMessageDelayed
(
0
,
2000
)
mHandler
?.
sendEmptyMessageDelayed
(
0
,
2000
)
}
}
}
}
...
...
moduleMain/src/main/java/com/zxbw/modulemain/activity/ToPaySkillGoodsActivity.kt
View file @
c9f665d9
This diff is collapsed.
Click to expand it.
moduleMain/src/main/java/com/zxbw/modulemain/box/activity/NewBoxGoodsDetailActivity.kt
View file @
c9f665d9
...
@@ -279,7 +279,7 @@ class NewBoxGoodsDetailActivity : BaseActivity(), GoodsDetailContract.View,
...
@@ -279,7 +279,7 @@ class NewBoxGoodsDetailActivity : BaseActivity(), GoodsDetailContract.View,
id_tv_youhui_coin_desc
.
visibility
=
View
.
GONE
id_tv_youhui_coin_desc
.
visibility
=
View
.
GONE
}
else
{
}
else
{
id_tv_youhui_coin_desc
.
visibility
=
View
.
VISIBLE
id_tv_youhui_coin_desc
.
visibility
=
View
.
VISIBLE
id_tv_youhui_coin_desc
.
text
=
"优惠${reslut.activitiesDiscount}
幸运币
"
id_tv_youhui_coin_desc
.
text
=
"优惠${reslut.activitiesDiscount}
元
"
}
}
if
(
reslut
.
originalPrice
.
isNullOrEmpty
())
{
if
(
reslut
.
originalPrice
.
isNullOrEmpty
())
{
id_tv_one_original_price
.
visibility
=
View
.
GONE
id_tv_one_original_price
.
visibility
=
View
.
GONE
...
...
moduleMain/src/main/res/drawable-xhdpi/img_banner_mh_bg.jpg
0 → 100644
View file @
c9f665d9
192 KB
moduleMain/src/main/res/drawable-xhdpi/img_banner_mh_bg.png
deleted
100644 → 0
View file @
f9d047c2
296 KB
moduleMain/src/main/res/layout/activity_layout_card_detail.xml
View file @
c9f665d9
...
@@ -392,9 +392,27 @@
...
@@ -392,9 +392,27 @@
android:textSize=
"16sp"
android:textSize=
"16sp"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:id=
"@+id/id_rl_h5_pay_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:visibility=
"gone"
android:layout_below=
"@+id/id_rl_title"
>
<WebView
<WebView
android:id=
"@+id/id_rights_pay_web_view"
android:id=
"@+id/id_rights_pay_web_view"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
<ImageView
android:id=
"@+id/id_img_close_pay_web"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:visibility=
"gone"
/>
android:layout_alignRight=
"@+id/id_member_pay_web_view"
android:padding=
"10dp"
android:src=
"@drawable/icon_guanbi"
/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
moduleMain/src/main/res/layout/activity_layout_member_order.xml
View file @
c9f665d9
...
@@ -325,10 +325,27 @@
...
@@ -325,10 +325,27 @@
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:id=
"@+id/id_rl_h5_pay_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_below=
"@id/id_img_back"
android:layout_marginTop=
"20dp"
android:visibility=
"gone"
>
<WebView
<WebView
android:id=
"@+id/id_member_pay_web_view"
android:id=
"@+id/id_member_pay_web_view"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
<ImageView
android:id=
"@+id/id_img_close_pay_web"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:visibility=
"gone"
/>
android:layout_alignRight=
"@+id/id_member_pay_web_view"
android:padding=
"10dp"
android:src=
"@drawable/icon_guanbi"
/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
moduleMain/src/main/res/layout/activity_layout_rights_detail.xml
View file @
c9f665d9
...
@@ -306,12 +306,27 @@
...
@@ -306,12 +306,27 @@
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:id=
"@+id/id_rl_h5_pay_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"50dp"
android:visibility=
"gone"
>
<WebView
<WebView
android:id=
"@+id/id_rights_pay_web_view"
android:id=
"@+id/id_rights_pay_web_view"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
<ImageView
android:id=
"@+id/id_img_close_pay_web"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:visibility=
"gone"
/>
android:layout_alignRight=
"@+id/id_member_pay_web_view"
android:padding=
"10dp"
android:src=
"@drawable/icon_guanbi"
/>
</RelativeLayout>
<RelativeLayout
<RelativeLayout
android:id=
"@+id/id_rl_suc_view"
android:id=
"@+id/id_rl_suc_view"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
...
moduleMain/src/main/res/layout/activity_layout_to_pay_skill_goods.xml
View file @
c9f665d9
...
@@ -328,9 +328,25 @@
...
@@ -328,9 +328,25 @@
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:id=
"@+id/id_rl_h5_pay_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_below=
"@+id/id_rl_title"
android:visibility=
"gone"
>
<WebView
<WebView
android:id=
"@+id/id_rights_pay_web_view"
android:id=
"@+id/id_rights_pay_web_view"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
<ImageView
android:id=
"@+id/id_img_close_pay_web"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:visibility=
"gone"
/>
android:layout_alignRight=
"@+id/id_member_pay_web_view"
android:padding=
"10dp"
android:src=
"@drawable/icon_guanbi"
/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
moduleMain/src/main/res/layout/fragment_layout_home.xml
View file @
c9f665d9
...
@@ -106,7 +106,7 @@
...
@@ -106,7 +106,7 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"38dp"
android:layout_height=
"38dp"
android:layout_below=
"@+id/id_rl_search_view"
android:layout_below=
"@+id/id_rl_search_view"
android:layout_marginTop=
"1
7
dp"
android:layout_marginTop=
"1
0
dp"
android:paddingLeft=
"5dp"
android:paddingLeft=
"5dp"
android:paddingRight=
"5dp"
android:paddingRight=
"5dp"
tl:tl_indicator_color=
"@color/color_333333"
tl:tl_indicator_color=
"@color/color_333333"
...
...
moduleMain/src/main/res/layout/item_layout_box_goods_view.xml
View file @
c9f665d9
...
@@ -70,7 +70,7 @@
...
@@ -70,7 +70,7 @@
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@drawable/shape_4b5055_r4_stroke"
android:background=
"@drawable/shape_4b5055_r4_stroke"
android:gravity=
"center_vertical"
android:gravity=
"center_vertical"
android:paddingLeft=
"
2
dp"
android:paddingLeft=
"
5
dp"
android:paddingRight=
"5dp"
android:paddingRight=
"5dp"
android:text=
"已减0元"
android:text=
"已减0元"
android:textColor=
"@color/color_333333"
android:textColor=
"@color/color_333333"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment