Commit f611f776 authored by jyx's avatar jyx

更新UI样式,修复BUG

parent c6b94e74
......@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.duben.loveplayletd">
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
......@@ -291,6 +292,10 @@
android:name=".ui.activitys.DrawCashActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activitys.FollowWechatActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activitys.BindAliPayActivity"
......
......@@ -216,7 +216,7 @@ object GlideUtils {
}
//加载毛玻璃图片
fun loadBlurImageView(mContext: Context, url: String?, imageView: ImageView) {
fun loadBlurImageView(mContext: Context, url: Any?, imageView: ImageView) {
Glide.with(mContext).load(url)
.apply(
RequestOptions.bitmapTransform(
......
......@@ -43,6 +43,8 @@ object Constant {
const val FRAGMENT_CLICK_FOUR = 3
const val FRAGMENT_CLICK_FIVE = 4
const val APP_RULE_URL = "https://shimo.im/docs/913JMwy8JyI5P5AE/"
// 协议地址
var REGISTER_URL =
BuildConfig.MainIp + "/agreements/${VersionUtils.getEndPkg()}/yhxy.html"//注册协议
......
......@@ -184,8 +184,8 @@ fun getHeightArr(): ArrayList<String> {
fun getAgeArr(): ArrayList<String> {
val start = 1950
val end = 2025
val start = 1975
val end = 2006
val arr = ArrayList<String>()
for (i in start..end) {
arr.add("" + i)
......
......@@ -24,14 +24,10 @@ import com.tencent.imsdk.v2.V2TIMValueCallback
import com.tencent.qcloud.tuicore.TUIConfig
import com.tencent.qcloud.tuicore.TUIConstants
import com.tencent.qcloud.tuicore.interfaces.TUICallback
import com.tencent.qcloud.tuikit.timcommon.component.action.PopActionClickListener
import com.tencent.qcloud.tuikit.timcommon.component.action.PopMenuAction
import com.tencent.qcloud.tuikit.timcommon.config.classicui.TUIConfigClassic
import com.tencent.qcloud.tuikit.tuichat.config.classicui.TUIChatConfigClassic
import com.tencent.qcloud.tuikit.tuiconversation.bean.ConversationInfo
import com.tencent.qcloud.tuikit.tuiconversation.config.classicui.TUIConversationConfigClassic
import java.util.*
/**
* @author Assen
......@@ -93,6 +89,14 @@ class IMHelper private constructor() {
//展示未读红点
TUIConversationConfigClassic.setShowCellUnreadCount(true)
// 更换默认头像
// 会话页面
TUIConfig.setDefaultAvatarImage(R.mipmap.ic_my_avat)
// 聊天页面
TUIConfigClassic.setDefaultAvatarImage(
ContextCompat.getDrawable(appContext, R.mipmap.ic_my_avat)
)
// When to call: Before initializing conversation list.
TUIConversationConfigClassic.setConversationMenuItemDataSource(object :
TUIConversationConfigClassic.ConversationMenuItemDataSource {
......
......@@ -144,8 +144,6 @@ class UserHelper private constructor() {
if (!text.isNullOrEmpty()) {
return text.toString()
}
ToastUtil.show(MintsApplication.getContext(), text.toString())
}
}
return ""
......
......@@ -74,4 +74,42 @@ class VipEnjoyPresenter : BasePresenter<VipEnjoyView>() {
})
}
fun getHomePageImageList(page: Int, pageCount: Int) {
val vo = hashMapOf<String, Any>()
vo["typeId"] = -1
vo["page"] = page
vo["size"] = pageCount
AppHttpManager.getInstance(loanApplication)
.call(loanService.getHomeV1List(vo),
object : BaseSubscriber<BaseResponse<BannerList>>() {
override fun onCompleted() {
if (isLinkView) return
}
override fun onError(e: Throwable) {
if (isLinkView) return
view.showToast(e.message)
view.getHomePageImageListFail()
}
override fun onNext(baseResponse: BaseResponse<BannerList>) {
if (isLinkView) return
val code = baseResponse.status
val message = baseResponse.message
when (code) {
200 -> {
view.getHomePageImageListSuc(baseResponse.data)
}
else -> {
view.showToast(message)
view.getHomePageImageListFail()
}
}
}
})
}
}
\ No newline at end of file
......@@ -5,4 +5,7 @@ import com.duben.loveplayletd.mvp.model.BannerList
interface VipEnjoyView : BaseView {
fun topTabsSuc(data: BannerList?)
fun ordersSuc(data: BannerList?)
fun getHomePageImageListSuc(data: BannerList)
fun getHomePageImageListFail()
}
\ No newline at end of file
......@@ -19,6 +19,7 @@ import com.duben.loveplayletd.mvp.views.DrawCashView
import com.duben.loveplayletd.ui.activitys.base.BaseActivity
import kotlinx.android.synthetic.main.activity_drawcash.*
import kotlinx.android.synthetic.main.header_layout.*
import okhttp3.internal.notify
/**
* @author Assen
......@@ -107,6 +108,11 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView {
readyGo(CoinRecordActivity::class.java)
}
R.id.btn_drawcash -> {
if (alipayMsg?.alipayAccount.isNullOrEmpty()) {
showToast("请先绑定收款账号")
return
}
// 提现
drawCashPresenter.addCashoutReq(et_draw_cash.text.toString())
}
......@@ -160,6 +166,7 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView {
override fun addCashoutReqSuc() {
showToast("提现成功!")
finish()
}
override fun addCashoutReqFail() {}
......
package com.duben.loveplayletd.ui.activitys
import android.content.ContentValues
import android.content.Context
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.os.Build
import android.os.Environment
import android.provider.MediaStore
import android.view.View
import com.duben.library.utils.nodoubleclick.AntiShake
import com.duben.loveplayletd.R
import com.duben.loveplayletd.ui.activitys.base.BaseActivity
import kotlinx.android.synthetic.main.activity_follow_wechat.*
import kotlinx.android.synthetic.main.header_layout.*
import java.io.IOException
class FollowWechatActivity : BaseActivity(), View.OnClickListener {
override fun getContentViewLayoutID() = R.layout.activity_follow_wechat
override fun isApplyKitKatTranslucency() = false
override fun initViewsAndEvents() {
tv_title.text = "真人认证"
initListener()
}
override fun onClick(v: View?) {
if (AntiShake.check(v?.id)) return
when (v?.id) {
R.id.iv_left_icon -> finish()
R.id.tv_submit -> {
finish()
}
R.id.tv_save -> {
saveResourceToGallery(this@FollowWechatActivity, R.mipmap.bg_wechat_code)
}
}
}
fun saveResourceToGallery(context: Context, resourceId: Int) {
// 从资源文件中获取 Bitmap
val bitmap = BitmapFactory.decodeResource(context.resources, resourceId)
if (bitmap == null) {
showToast("保存公众号失败")
return
}
val filename = "${System.currentTimeMillis()}.jpg"
val values = ContentValues()
values.put(MediaStore.Images.Media.DISPLAY_NAME, filename)
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
values.put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_PICTURES)
}
val contentResolver = context.contentResolver
val uri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)
if (uri != null) {
try {
contentResolver.openOutputStream(uri).use { outputStream ->
if (outputStream != null) {
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream)
showToast("公众号已保存到相册")
}
}
} catch (e: IOException) {
e.printStackTrace()
showToast("保存公众号失败")
}
} else {
showToast("保存公众号失败")
}
}
private fun initListener() {
iv_left_icon.setOnClickListener(this)
tv_submit.setOnClickListener(this)
tv_save.setOnClickListener(this)
}
}
......@@ -554,7 +554,7 @@ class RealAuthActivity : BaseActivity(), View.OnClickListener, RealAuthView {
override fun setWechatQRCodeSuc() {
showToast("恭喜您完成真人认证!")
finish()
readyGoThenKill(FollowWechatActivity::class.java)
}
override fun setWechatQRCodeFail() {}
......
......@@ -160,8 +160,21 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, VipAdapter.On
private fun initTab() {
tabsData.addAll(arrayOf(" 充值 ", "会员套餐"))
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[0], false)))
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[1], false)))
if (isCoin) {
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[0], true)))
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[1], false)))
rvVip.visibility = View.GONE
rv_wallet_coin.visibility = View.VISIBLE
tablayout.getTabAt(0)?.select()
} else {
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[0], false)))
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[1], true)))
rvVip.visibility = View.VISIBLE
rv_wallet_coin.visibility = View.GONE
tablayout.getTabAt(1)?.select()
}
tablayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab?) {
tab?.let {
......@@ -188,11 +201,6 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, VipAdapter.On
override fun onTabReselected(tab: TabLayout.Tab?) {}
})
if (isCoin) {
tablayout.getTabAt(0)?.select()
} else {
tablayout.getTabAt(1)?.select()
}
}
private fun updateTab(view: View?, isSelected: Boolean) {
......@@ -408,7 +416,6 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, VipAdapter.On
val list = it.list
val vedioBean = VedioBean()
vedioBean.title = ""
vedioBean.coverImage = R.mipmap.bg_vip_head.toString()
list.add(0, vedioBean)
setBanner(list)
}
......@@ -850,14 +857,19 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, VipAdapter.On
}
override fun onPageSelected(position: Int) {
GlideUtils.loadBlurImageView(mContext, data[position].coverImage, iv_blur)
tv_banner_title.text = String.format("《%1s》", data[position].title)
if (position == 0) {
GlideUtils.loadBlurImageView(mContext, R.mipmap.bg_vip_head, iv_blur)
tv_banner_title.text = ""
} else {
GlideUtils.loadBlurImageView(mContext, data[position].coverImage, iv_blur)
tv_banner_title.text = String.format("《%1s》", data[position].title)
}
}
override fun onPageScrollStateChanged(state: Int) {}
})
GlideUtils.loadBlurImageView(mContext, data[0].coverImage, iv_blur)
tv_banner_title.text = String.format("《%1s》", data[0].title)
GlideUtils.loadBlurImageView(mContext, R.mipmap.bg_vip_head, iv_blur)
tv_banner_title.text = ""
}
fun startTimer() {
......
......@@ -30,6 +30,9 @@ public class VipBannerAdapter extends BannerAdapter<VedioBean, ImageTitleHolder>
if (data.getCoverImage() != null) {
GlideUtils.INSTANCE.loadImageViewGifForCenterCrop(context, data.getCoverImage(), holder.imageView, 15);
}
if (position == 0) {
GlideUtils.INSTANCE.loadImageViewGifForCenterCrop(context, R.mipmap.bg_vip_head, holder.imageView, 15);
}
holder.title.setText(data.getTitle());
}
......
......@@ -13,6 +13,7 @@ import com.duben.loveplayletd.manager.TrackManager
import com.duben.loveplayletd.manager.UserManager
import com.duben.loveplayletd.mvp.presenters.FirstPresenter
import com.duben.loveplayletd.mvp.views.FirstView
import com.duben.loveplayletd.ui.activitys.ShareActivity
import com.duben.loveplayletd.ui.adapter.RecommendPageAdapter
import com.duben.loveplayletd.ui.fragment.base.LazyLoadBaseFragment
import com.google.android.material.tabs.TabLayout
......@@ -39,6 +40,9 @@ class FirstFragment : LazyLoadBaseFragment(), FirstView {
override fun initViewsAndEvents() {
firstPresenter.attachView(this)
iv_share.setOnClickListener {
readyGo(ShareActivity::class.java)
}
initVp2()
}
......
......@@ -11,7 +11,6 @@ import com.duben.loveplayletd.common.AppConfig
import com.duben.loveplayletd.common.Constant
import com.duben.loveplayletd.ui.adapter.MsgPageAdapter
import com.duben.loveplayletd.ui.fragment.base.LazyLoadBaseFragment
import com.duben.loveplayletd.utils.LogUtil
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import kotlinx.android.synthetic.main.fragment_main_message.*
......
......@@ -2,6 +2,7 @@ package com.duben.loveplayletd.ui.fragment
import android.Manifest
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.text.TextUtils
......@@ -25,7 +26,9 @@ import com.duben.loveplayletd.manager.UserManager
import com.duben.loveplayletd.mvp.model.*
import com.duben.loveplayletd.mvp.presenters.SquarePresenter
import com.duben.loveplayletd.mvp.views.SquareView
import com.duben.loveplayletd.ui.activitys.ShareActivity
import com.duben.loveplayletd.ui.activitys.VipActivity
import com.duben.loveplayletd.ui.activitys.WebActivity
import com.duben.loveplayletd.ui.adapter.*
import com.duben.loveplayletd.ui.fragment.base.LazyLoadBaseFragment
import com.duben.loveplayletd.utils.AppPreferencesManager
......@@ -57,10 +60,15 @@ class SquareFragment : LazyLoadBaseFragment(), SquareView, View.OnClickListener
initBanner()
initLocation()
tv_location.setOnClickListener(this)
iv_share.setOnClickListener {
readyGo(ShareActivity::class.java)
}
}
private fun initBanner() {
bannerList.add(R.mipmap.bg_banner1)
bannerList.add(R.mipmap.bg_banner4)
bannerList.add(R.mipmap.bg_banner2)
bannerList.add(R.mipmap.bg_banner3)
banner.addBannerLifecycleObserver(this)
......@@ -68,7 +76,11 @@ class SquareFragment : LazyLoadBaseFragment(), SquareView, View.OnClickListener
.setOnBannerListener { data, position ->
if (position == 0 && !UserManager.getInstance().vipFlag) {
readyGo(VipActivity::class.java)
} else {
} else if (position == 1) {
val bundle = Bundle()
bundle.putString(WebActivity.WEB_TITLE, getString(R.string.rule_name))
bundle.putString(WebActivity.WEB_URL, Constant.APP_RULE_URL)
readyGo(WebActivity::class.java, bundle)
}
}
}
......
......@@ -178,7 +178,7 @@ class SquareListFragment : LazyLoadBaseFragment(), SquareView, OnLoadMoreListene
}
override fun getHallListFail() {
srl_square.resetNoMoreData()
srl_square.finishRefresh(true)
}
override fun toLikeSuc(position: Int) {
......
......@@ -6,7 +6,6 @@ import android.view.View
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.GridLayoutManager
import com.duben.loveplayletd.R
import com.duben.loveplayletd.common.AppConfig
import com.duben.loveplayletd.common.Constant
import com.duben.loveplayletd.manager.LocalVedioManager
import com.duben.loveplayletd.mvp.model.BannerBean
......@@ -18,6 +17,7 @@ import com.duben.loveplayletd.ui.adapter.ImageTitleAdapter
import com.duben.loveplayletd.ui.adapter.VipEnjoyAdapter
import com.duben.loveplayletd.ui.fragment.base.LazyLoadBaseFragment
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import kotlinx.android.synthetic.main.fragment_vip_enjoy.*
......@@ -26,7 +26,8 @@ import kotlinx.android.synthetic.main.fragment_vip_enjoy.*
* @date 2023/12/5
* @desc VIP尊享页面
*/
class VipEnjoyFragment : LazyLoadBaseFragment(), VipEnjoyView, OnRefreshListener {
class VipEnjoyFragment : LazyLoadBaseFragment(), VipEnjoyView, OnRefreshListener,
OnLoadMoreListener {
companion object {
fun newInstance(): Fragment {
......@@ -37,6 +38,9 @@ class VipEnjoyFragment : LazyLoadBaseFragment(), VipEnjoyView, OnRefreshListener
}
}
private var hotPage = 1 // 分页
private var hotPageSize = Constant.PAGE_SIZE // 分页
private val vipEnjoyPresenter by lazy { VipEnjoyPresenter() }
private lateinit var vipEnjoyAdapter: VipEnjoyAdapter
......@@ -48,11 +52,8 @@ class VipEnjoyFragment : LazyLoadBaseFragment(), VipEnjoyView, OnRefreshListener
initView()
initListener()
}
override fun onResume() {
super.onResume()
myRefresh()
vipEnjoyPresenter.topTabs()
srl_enjoy.autoRefresh()
}
override fun onDetach() {
......@@ -84,6 +85,7 @@ class VipEnjoyFragment : LazyLoadBaseFragment(), VipEnjoyView, OnRefreshListener
private fun initListener() {
srl_enjoy.setEnableRefresh(true)
srl_enjoy.setOnRefreshListener(this)
srl_enjoy.setOnLoadMoreListener(this)
}
override fun onFragmentResume() {
......@@ -94,16 +96,14 @@ class VipEnjoyFragment : LazyLoadBaseFragment(), VipEnjoyView, OnRefreshListener
banner?.stop()
}
private fun myRefresh() {
if (AppConfig.fragmentClickFlag == Constant.FRAGMENT_CLICK_ONE) {
srl_enjoy.resetNoMoreData()
vipEnjoyPresenter.orders()
vipEnjoyPresenter.topTabs()
}
override fun onRefresh(refreshLayout: RefreshLayout) {
hotPage = 1
vipEnjoyPresenter.getHomePageImageList(hotPage, hotPageSize)
}
override fun onRefresh(refreshLayout: RefreshLayout) {
myRefresh()
override fun onLoadMore(refreshLayout: RefreshLayout) {
hotPage = ++hotPage
vipEnjoyPresenter.getHomePageImageList(hotPage, hotPageSize)
}
override fun topTabsSuc(data: BannerList?) {
......@@ -126,15 +126,28 @@ class VipEnjoyFragment : LazyLoadBaseFragment(), VipEnjoyView, OnRefreshListener
}
override fun ordersSuc(data: BannerList?) {
}
override fun getHomePageImageListSuc(data: BannerList) {
if (activity == null || requireActivity().isFinishing) {
srl_enjoy?.finishRefresh(true)
return
}
if (::vipEnjoyAdapter.isInitialized) {
srl_enjoy.finishRefresh(true)
vipEnjoyAdapter.setNewInstance(data?.list)
if (hotPage == 1) {
srl_enjoy.finishRefresh(true)
vipEnjoyAdapter.setNewInstance(data.list)
} else {
if (data.list.size < hotPageSize) {
srl_enjoy.finishLoadMoreWithNoMoreData()
} else {
srl_enjoy.finishLoadMore()
}
vipEnjoyAdapter.addData(data.list)
}
}
}
override fun getHomePageImageListFail() {}
}
\ No newline at end of file
......@@ -7,7 +7,6 @@ import android.view.Gravity
import android.view.KeyEvent
import android.view.WindowManager
import android.widget.ImageView
import android.widget.TextView
import com.duben.loveplayletd.R
import com.duben.loveplayletd.ui.activitys.RealAuthActivity
......@@ -16,7 +15,7 @@ class RealAuthDialog(private val context: Context) : Dialog(
) {
private val lp: WindowManager.LayoutParams
private val iv_close: ImageView
private val tv_to_auth: TextView
private val tv_to_auth: ImageView
init {
setContentView(R.layout.dialog_real_auth)
......
......@@ -293,6 +293,25 @@
android:text="1.在因收益需要经过如无投诉类的系统审核,通过审核的可正常提取;\n2.每次提取数额不低于100元;\n3.每日最多可发起提取10次;\n4.每日最多可提取总金额不超过3000元;"
android:textColor="@color/color_A5A5A7" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="30dp"
android:text="为什么实际到账金额比可提取金额少?"
android:textColor="@color/color_EFEEEB"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="20dp"
android:lineHeight="20dp"
android:text="1.当月提取总金额小于500元时,手续费2%;\n2.当月提取总金额大于500、小于5000元时,手续费5%;\n3.当月提取总金额大于5000元时,手续费10%"
android:textColor="@color/color_A5A5A7" />
</LinearLayout>
</com.duben.loveplayletd.ui.widgets.ElasticScrollView>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:orientation="vertical">
<include layout="@layout/header_layout" />
<com.duben.loveplayletd.ui.widgets.ElasticScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:overScrollMode="never">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:text="关注公众号(审核结果将会在公众号告知)"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:text="使用微信扫码二维码关注公众号后,返回这里点击验证,即可提交认证申请"
android:textColor="@color/color_615A5A"
android:textSize="14sp" />
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="40dp"
android:src="@mipmap/bg_wechat_code" />
<TextView
android:id="@+id/tv_submit"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_gravity="bottom"
android:layout_marginStart="20dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="20dp"
android:background="@drawable/shape_profile_chat"
android:gravity="center"
android:text="验证"
android:textColor="@color/black"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_save"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_gravity="bottom"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/shape_profile_chat"
android:gravity="center"
android:text="保存二维码"
android:textColor="@color/black"
android:textSize="16sp" />
</LinearLayout>
</com.duben.loveplayletd.ui.widgets.ElasticScrollView>
</LinearLayout>
......@@ -28,7 +28,7 @@
<ImageView
android:id="@+id/iv_blur"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="350dp"
android:scaleType="fitXY" />
<ImageView
......
......@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:orientation="vertical">
<include layout="@layout/web_header_layout" />
......
......@@ -15,17 +15,15 @@
android:layout_height="360dp"
android:src="@mipmap/bg_real_auth" />
<TextView
<ImageView
android:id="@+id/tv_to_auth"
android:layout_width="220dp"
android:layout_height="45dp"
android:layout_height="55dp"
android:layout_gravity="center_horizontal|bottom"
android:layout_marginBottom="20dp"
android:background="@drawable/shape_profile_chat"
android:gravity="center"
android:text="真人认证"
android:textColor="@color/black"
android:textSize="18sp" />
android:src="@mipmap/bg_real_auth_btn">
</ImageView>
</FrameLayout>
<ImageView
......
......@@ -31,6 +31,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srlAccentColor="@color/white"
app:srlPrimaryColor="@color/black" />
app:srlPrimaryColor="@color/half_transparent" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</FrameLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/bg_female"
android:gravity="center_horizontal"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/bg_female">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_recommend"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_gravity="left"
android:layout_marginTop="30dp"
app:tabBackground="@null"
app:tabIndicatorHeight="0dp"
app:tabMode="scrollable"
app:tabRippleColor="@null" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp2_recommend"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
</LinearLayout>
android:gravity="center_horizontal"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_recommend"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_gravity="left"
android:layout_marginTop="30dp"
app:tabBackground="@null"
app:tabIndicatorHeight="0dp"
app:tabMode="scrollable"
app:tabRippleColor="@null" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp2_recommend"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
</LinearLayout>
<ImageView
android:id="@+id/iv_share"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="bottom|end"
android:layout_marginEnd="20dp"
android:layout_marginBottom="200dp"
android:src="@mipmap/ic_share_image" />
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout 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"
android:background="@mipmap/bg_female"
android:paddingTop="40dp">
android:background="@mipmap/bg_female">
<com.google.android.material.appbar.AppBarLayout
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_behavior=".ui.widgets.AppBarLayoutBehavior">
android:layout_height="match_parent"
android:background="@mipmap/bg_female"
android:paddingTop="40dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
android:background="@android:color/transparent"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_behavior=".ui.widgets.AppBarLayoutBehavior">
<LinearLayout
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
<com.youth.banner.Banner
android:id="@+id/banner"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp" />
<TextView
android:id="@+id/tv_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:visibility="gone" />
</LinearLayout>
android:orientation="vertical">
</com.google.android.material.appbar.CollapsingToolbarLayout>
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tablayout"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
app:tabBackground="@null"
app:tabIndicatorHeight="0dp"
app:tabMaxWidth="200dp"
app:tabMinWidth="20dp"
app:tabMode="scrollable"
app:tabPaddingEnd="6dp"
app:tabPaddingStart="6dp"
app:tabRippleColor="@null" />
<TextView
android:id="@+id/tv_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:visibility="gone" />
</LinearLayout>
</com.google.android.material.appbar.AppBarLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tablayout"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
app:tabBackground="@null"
app:tabIndicatorHeight="0dp"
app:tabMaxWidth="200dp"
app:tabMinWidth="20dp"
app:tabMode="scrollable"
app:tabPaddingEnd="6dp"
app:tabPaddingStart="6dp"
app:tabRippleColor="@null" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp2"
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file
<ImageView
android:id="@+id/iv_share"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="bottom|end"
android:layout_marginEnd="20dp"
android:layout_marginBottom="200dp"
android:src="@mipmap/ic_share_image" />
</FrameLayout>
\ No newline at end of file
......@@ -17,12 +17,11 @@
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<com.youth.banner.Banner
......@@ -43,8 +42,15 @@
android:layout_marginRight="14dp"
android:minHeight="800dp"
android:overScrollMode="never" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<com.scwang.smartrefresh.layout.footer.ClassicsFooter
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srlAccentColor="@color/white"
app:srlPrimaryColor="@color/half_transparent" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</FrameLayout>
\ No newline at end of file
......@@ -11,7 +11,7 @@
android:layout_height="50dp"
android:layout_centerVertical="true"
android:padding="10dp"
android:src="@mipmap/ic_arrow_back" />
android:src="@mipmap/ic_arrow_white" />
<ImageView
android:id="@+id/iv_activity_quit"
......@@ -20,14 +20,14 @@
android:layout_centerVertical="true"
android:layout_toEndOf="@id/tv_activity_back"
android:padding="12dp"
android:src="@mipmap/ic_close" />
android:src="@mipmap/ic_close_white" />
<TextView
android:id="@+id/tv_activity_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="#121B32"
android:textColor="@color/white"
android:textSize="16sp" />
<View
......
......@@ -6,6 +6,7 @@
<string name="dialog_pos_text1">当前应用缺少 </string>
<string name="dialog_pos_text2">授权\n\n请点击 设置-权限-打开所需权限 </string>
<string name="rule_name">平台使用规范</string>
<string name="register_name">用户注册协议</string>
<string name="privacy_name">用户隐私协议</string>
<string name="members_name">会员付费协议</string>
......
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