Commit 2f52dd1a authored by mengcuiguang's avatar mengcuiguang

banner自定义方案、添加本地视频管理、修改个人中心等

parent 2112529e
......@@ -64,7 +64,11 @@
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true"
android:theme="@style/AppTheme.TranslucentSplish">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.activitys.SplashAdActivity"
......@@ -80,15 +84,11 @@
<activity
android:name=".ui.activitys.MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true"
android:exported="false"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoneTranslucent">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.activitys.WebActivity"
......
......@@ -89,8 +89,8 @@ public class MintsApplication extends MultiDexApplication {
*/
public void thirdConfig() {
// 未同意权限弹窗,不进行SDK初始化
// if (AppPreferencesManager.INSTANCE.get()
// .getBoolean(Constant.LOAN_PERMISSION_FLAG, true)) return;
if (AppPreferencesManager.INSTANCE.get()
.getBoolean(Constant.LOAN_PERMISSION_FLAG, true)) return;
initMiitHelper();
......@@ -109,8 +109,6 @@ public class MintsApplication extends MultiDexApplication {
UmengManager.INSTANCE.initUm(this,
MateUtils.INSTANCE.getAppMetaData(this, "CHANNEL_NAME"));
// TalkingDataManager.INSTANCE.init(this);
// bugly
CrashReport.initCrashReport(this, "d035276c5b", BuildConfig.DEBUG);
}
......
......@@ -5,6 +5,7 @@ object Constant {
const val GRO_MORE_ADTYPE2 = "2"
const val AD_SOURCE_GROMORE = "GROMORE"
const val PAGE_SIZE = 12
const val LOCAL_VEDIO = "LOCAL_VEDIO"
/**
* 首次弹出权限声明
......
package com.mints.wisdomclean.manager
import android.text.TextUtils
import com.mints.library.utils.json.JsonUtil
import com.mints.wisdomclean.common.Constant
import com.mints.wisdomclean.mvp.model.BannerBean
import com.mints.wisdomclean.utils.AppPreferencesManager
/**
* 本地视频缓存管理
*/
object LocalVedioManager {
var vedioCache: Any? = null
/**
* 提交当前视频数据
*/
fun commitVedio(data: Any) {
cacheVedio(data)
TrackManager.getInstance().commitVedio()
}
/**
* 内存、本地都缓存视频
*/
private fun cacheVedio(data: Any) {
vedioCache = data
AppPreferencesManager.get().put(Constant.LOCAL_VEDIO, JsonUtil.toJson(data))
}
/**
* 关闭缓存视频
*/
fun closeCacheVedio() {
vedioCache = null
AppPreferencesManager.get().put(Constant.LOCAL_VEDIO, "")
}
/**
* 是否有缓存的视频
*
* true-有
*/
fun isCacheVedio(): Boolean {
if (vedioCache != null) {
return true
}
val localVedio = AppPreferencesManager.get().getString(Constant.LOCAL_VEDIO, "")
if (!TextUtils.isEmpty(localVedio)) {
return true
}
return false
}
/**
* 展示缓存视频
*/
fun getCacheVedio(): Any? {
if (vedioCache != null) {
return vedioCache as Any
}
val localVedio = AppPreferencesManager.get().getString(Constant.LOCAL_VEDIO, "")
if (!TextUtils.isEmpty(localVedio)) {
return JsonUtil.parseJson(localVedio, BannerBean::class.java)
}
return null
}
}
\ No newline at end of file
......@@ -61,4 +61,10 @@ public class TrackManager {
trackPresenter.saveV6Terminal();
}
}
public void commitVedio() {
if (trackPresenter != null ) {
// trackPresenter.commitVedio();
}
}
}
package com.mints.wisdomclean.mvp.model;
import java.io.Serializable;
public class BannerBean implements Serializable {
private String imageRes;
private String title;
public String getImageRes() {
return imageRes;
}
public void setImageRes(String imageRes) {
this.imageRes = imageRes;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
......@@ -48,16 +48,14 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Base
WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else if (TextUtils.equals(getClass().getSimpleName(), "VideoActivity")) {
StatusBarUtil.transparencyBar(this); //设置状态栏全透明
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
getWindow().setNavigationBarColor(Color.BLACK);
}
} else {
StatusBarUtil.transparencyBar(this); //设置状态栏全透明
StatusBarUtil.StatusBarLightMode(this); //设置白底黑字
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
getWindow().setNavigationBarColor(Color.TRANSPARENT);
}
}
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
getWindow().setNavigationBarColor(Color.BLACK);
// }
} catch (Exception e) {
e.printStackTrace();
}
......
package com.mints.wisdomclean.ui.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import com.mints.library.utils.GlideUtils;
import com.mints.wisdomclean.R;
import com.mints.wisdomclean.mvp.model.BannerBean;
import com.youth.banner.adapter.BannerAdapter;
import java.util.List;
/**
* 自定义布局,图片+标题
*/
public class ImageTitleAdapter extends BannerAdapter<BannerBean, ImageTitleHolder> {
private Context context;
public ImageTitleAdapter(List<BannerBean> mDatas) {
super(mDatas);
}
@Override
public ImageTitleHolder onCreateHolder(ViewGroup parent, int viewType) {
context=parent.getContext();
return new ImageTitleHolder(LayoutInflater.from(context).inflate(R.layout.banner_image_title, parent, false));
}
@Override
public void onBindView(ImageTitleHolder holder, BannerBean data, int position, int size) {
// holder.imageView.setImageResource(data.getImageRes());
GlideUtils.INSTANCE.loadImageViewGifForFitCenter(context, data.getImageRes(), holder.imageView);
holder.title.setText(data.getTitle());
}
}
package com.mints.wisdomclean.ui.adapter;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.mints.wisdomclean.R;
public class ImageTitleHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public TextView title;
public ImageTitleHolder(@NonNull View view) {
super(view);
imageView = view.findViewById(R.id.image);
title = view.findViewById(R.id.bannerTitle);
}
}
......@@ -15,13 +15,16 @@ import com.mints.library.utils.nodoubleclick.AntiShake
import com.mints.wisdomclean.R
import com.mints.wisdomclean.common.AppConfig
import com.mints.wisdomclean.common.Constant
import com.mints.wisdomclean.manager.LocalVedioManager
import com.mints.wisdomclean.manager.UserManager
import com.mints.wisdomclean.mvp.model.BannerBean
import com.mints.wisdomclean.mvp.model.HotStyleTypesBean
import com.mints.wisdomclean.mvp.model.HotStyleTypesListBean
import com.mints.wisdomclean.mvp.model.UserBean
import com.mints.wisdomclean.mvp.presenters.HomePresenter
import com.mints.wisdomclean.mvp.views.HomeView
import com.mints.wisdomclean.ui.adapter.HomeVideoPageAdapter
import com.mints.wisdomclean.ui.adapter.ImageTitleAdapter
import com.mints.wisdomclean.ui.adapter.TopAdapter
import com.mints.wisdomclean.ui.fragment.base.BaseFragment
import com.mints.wisdomclean.ui.fragment.base.LazyLoadBaseFragment
......@@ -51,6 +54,7 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
private var mSelectTabIndex = -1
private val tabsData = mutableListOf<HotStyleTypesBean>()
private val bannerList = mutableListOf<BannerBean>()
private var vpAdapter: HomeVideoPageAdapter? = null
private var topAdapter: TopAdapter? = null
......@@ -84,7 +88,7 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
loadData()
}
banner?.start()
setWatchingStatus(Any())
setWatchingStatus()
}
}
......@@ -93,34 +97,22 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
}
private fun initView() {
val bannerLayout1 = (banner as Banner<String, BannerImageAdapter<String>>)
bannerLayout1.apply {
addBannerLifecycleObserver(activity)
indicator = CircleIndicator(activity)
setAdapter(object : BannerImageAdapter<String>(imageUrls) {
override fun onBindView(
holder: BannerImageHolder,
data: String,
position: Int,
size: Int
) {
holder.imageView.scaleType = ImageView.ScaleType.FIT_XY
GlideUtils.loadImageViewGifForFitCenter(activity!!, data, holder.imageView)
}
})
setOnBannerListener { data, position ->
when (position) {
0 -> {
// mCurrentStyleType = Constant.STYLE_BANNER1
}
}
}
for (i in 0 until imageUrls.size) {
val bean = BannerBean()
bean.title = "天师下山各显神勇" + i
bean.imageRes = imageUrls.get(i)
bannerList.add(bean)
}
banner.addBannerLifecycleObserver(this)
.setAdapter(ImageTitleAdapter(bannerList))
.setOnBannerListener { data, position ->
showToast(position.toString())
}
}
private fun initListener() {
srlMainPage.setOnRefreshListener(this)
tv_test.setOnClickListener(this)
iv_main_watching_close.setOnClickListener(this)
tv_main_watching_goto.setOnClickListener(this)
}
......@@ -129,14 +121,18 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
if (AntiShake.check(v?.id)) return
when (v?.id) {
R.id.tv_test -> {
readyGo(VideoActivity::class.java)
}
// R.id.tv_test -> {
// readyGo(VideoActivity::class.java)
// }
R.id.iv_main_watching_close -> {
LocalVedioManager.closeCacheVedio()
ll_main_watching_root.visibility = View.GONE
}
R.id.tv_main_watching_goto -> {
val cacheVedio = LocalVedioManager.getCacheVedio()
if (cacheVedio != null) {
}
}
}
}
......@@ -224,15 +220,25 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
}
}
fun setWatchingStatus(bean: Any) {
GlideUtils.loadImageViewGifForFitCenter(
requireContext(),
"https://mints-pkg.oss-cn-beijing.aliyuncs.com/pkg-bcurd/img/bg_vip_top1.png",
iv_main_watching_pic
)
fun setWatchingStatus() {
if (LocalVedioManager.isCacheVedio()) {
ll_main_watching_root.visibility = View.VISIBLE
val cacheVedio = LocalVedioManager.getCacheVedio()
if (cacheVedio != null) {
}
GlideUtils.loadImageViewGifForFitCenter(
requireContext(),
"https://mints-pkg.oss-cn-beijing.aliyuncs.com/pkg-bcurd/img/bg_vip_top1.png",
iv_main_watching_pic
)
// tv_main_watching_name.text=""
// tv_main_watching_text1.text=""
// tv_main_watching_text2.text=""
} else {
ll_main_watching_root.visibility = View.GONE
}
}
override fun getHomeV1MsgSuc(data: HotStyleTypesListBean) {
......
package com.mints.wisdomclean.ui.fragment
import android.app.Dialog
import android.content.Intent
import android.os.Bundle
import android.text.TextUtils
import android.util.Log
import android.view.View
import android.widget.Toast
import androidx.core.content.ContextCompat
import com.bytedance.sdk.dp.DPDrama
import com.bytedance.sdk.dp.DPDramaDetailConfig
import com.bytedance.sdk.dp.DPSdk
import com.bytedance.sdk.dp.IDPWidgetFactory
import com.daimajia.androidanimations.library.YoYo
import com.mints.library.utils.nodoubleclick.AntiShake
import com.mints.wisdomclean.R
import com.mints.wisdomclean.common.AppConfig
import com.mints.wisdomclean.common.Constant
......@@ -23,50 +13,24 @@ import com.mints.wisdomclean.mvp.views.MyView
import com.mints.wisdomclean.ui.activitys.*
import com.mints.wisdomclean.ui.fragment.base.BaseFragment
import com.mints.wisdomclean.utils.TimeRender
import com.mints.library.utils.nodoubleclick.AntiShake
import com.mints.wisdomclean.ad.AdManager
import com.mints.wisdomclean.ad.AdStatusListener
import com.mints.wisdomclean.ui.widgets.DialogListener
import com.mints.wisdomclean.ui.widgets.DialogUtils
import com.mints.wisdomclean.utils.LogUtil
import com.mints.wisdomclean.utils.SpanUtils
import com.mints.wisdomclean.utils.UcropUtils
import com.mints.wisdomclean.video.DPHolderManager
import com.mints.wisdomclean.video.DramaApiDetailActivity
import com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_CUSTOM_REPORT_ENABLED
import com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_FREE_SET
import com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_HIDE_LEFT_TOP_TIPS
import com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_INFINITE_SCROLL_ENABLED
import com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_LOCK_SET
import com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_MODE
import com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_UNLOCK_INDEX
import kotlinx.android.synthetic.main.fragment_main_my.*
/**
* 描述:我
* 作者:孟崔广
* 时间:2022/12/26 11:30
* 时间:2023/7/7 11:30
*/
class MyFragment : BaseFragment(), MyView, View.OnClickListener {
private val myPresenter by lazy { MyPresenter() }
private val userManager by lazy { UserManager.getInstance() }
private var rope: YoYo.YoYoString? = null
override fun getContentViewLayoutID() = R.layout.fragment_main_my
override fun initViewsAndEvents() {
myPresenter.attachView(this)
tv_contact.text = SpanUtils()
.append("如有问题,请直接联系")
.append("在线客服\n")
.setForegroundColor(resources.getColor(R.color.main_mints))
.append("处理速度更快,")
.append("无需联系支付宝")
.setForegroundColor(resources.getColor(R.color.main_mints))
.create()
initListener()
DPHolderManager.initDpSdk(requireContext())
......@@ -90,7 +54,7 @@ class MyFragment : BaseFragment(), MyView, View.OnClickListener {
super.onResume()
if (AppConfig.fragmentClickFlag == Constant.FRAGMENT_CLICK_THREE) {
if (AntiShake.check(ll_my_vip?.id)) return
if (AntiShake.check(ll_my_record?.id)) return
if (!TextUtils.isEmpty(userManager?.userID)) {
myPresenter.getMyInfo()
......@@ -100,90 +64,28 @@ class MyFragment : BaseFragment(), MyView, View.OnClickListener {
}
}
override fun onPause() {
super.onPause()
if (fl_my_vip != null && fl_my_vip.visibility == View.VISIBLE) {
rope?.stop()
}
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.ll_my_vip, R.id.fl_my_vip, R.id.iv_my_hint -> {
R.id.tv_my_btn -> {
if (!userManager.vipFlag) {
readyGo(VipActivity::class.java)
}
// AdManager.instance.showAd(requireActivity(), "", object : AdStatusListener {
// override fun adSuccess() {
// }
//
// override fun adFail() {
// }
//
// override fun adClose() {
// }
//
// })
}
R.id.iv_my_set -> {
val idList = mutableListOf<Long>()
idList.add(6L)
DPSdk.factory().requestDrama(idList, object : IDPWidgetFactory.DramaCallback {
override fun onError(code: Int, msg: String?) {
showToast("请求失败")
LogUtil.d("request failed, code = $code, msg = $msg")
}
override fun onSuccess(
dataList: MutableList<out DPDrama>?,
info: MutableMap<String, Any>?
) {
showToast("请求成功")
dataList?.takeIf { it.isNotEmpty() }?.first()?.let {
LogUtil.d("request success, $it")
// 短剧集数
it.index = 1
val intent =
Intent(requireActivity(), DramaApiDetailActivity::class.java)
DramaApiDetailActivity.outerDrama = it
// 免费观看集数
intent.putExtra(KEY_DRAMA_UNLOCK_INDEX, 10)
// 封装或者非封装模式
intent.putExtra(KEY_DRAMA_MODE, DPDramaDetailConfig.SPECIFIC_DETAIL)
// 免费集数
intent.putExtra(KEY_DRAMA_FREE_SET, 0)
// 解锁集数
intent.putExtra(KEY_DRAMA_LOCK_SET, 0)
// 无限下滑
intent.putExtra(KEY_DRAMA_INFINITE_SCROLL_ENABLED, true)
// 举报页面
intent.putExtra(KEY_DRAMA_CUSTOM_REPORT_ENABLED, false)
intent.putExtra(KEY_DRAMA_HIDE_LEFT_TOP_TIPS, false)
startActivity(intent)
}
}
})
// AdManager.instance.preLoadAd(requireActivity(), true)
// readyGo(SettingsActivity::class.java)
R.id.ll_my_setting -> {
readyGo(SettingsActivity::class.java)
}
R.id.ll_feedback, R.id.ll_contactus2, R.id.ll_contactus -> {
// 联系客服
(requireActivity() as MainActivity).backPhoneDialog()
R.id.tv_my_account -> {
if (!userManager.userIsLogin()) {
readyGo(MobileLoginActivity::class.java)
}
}
R.id.ll_vip_agree -> {
val bundle = Bundle()
bundle.putString(WebActivity.WEB_TITLE, getString(R.string.members_name))
bundle.putString(WebActivity.WEB_URL, Constant.MEMBERS_URL)
readyGo(WebActivity::class.java, bundle)
R.id.ll_my_record -> {
showToast("观看记录")
}
R.id.ll_backcash -> {
readyGo(Backcash2Activity::class.java)
R.id.ll_my_feed -> {
(requireActivity() as MainActivity).backPhoneDialog()
}
R.id.ll_record -> {
R.id.ll_my_payrecord -> {
readyGo(OrderRecordActivity::class.java)
}
}
......@@ -195,17 +97,17 @@ class MyFragment : BaseFragment(), MyView, View.OnClickListener {
private fun loginStatus(consumer: UserBean) {
// 1-登录
if (!TextUtils.isEmpty(userManager.userID)) {
if (userManager.userIsLogin()) {
tv_my_account.text = "用户ID:" + consumer.idcode
} else {
// 未登录
tv_my_account.text = "点击登录账号"
tv_my_account.text = "登录/注册"
}
// 2-是否vip
if (consumer.expireTime > 0) {
fl_my_vip.visibility = View.GONE
tv_my_vip.text = "VIP会员"
tv_my_btn.visibility = View.GONE
if (consumer.isForever) {
tv_my_status.text = "有效期: 永久有效"
} else {
......@@ -213,9 +115,9 @@ class MyFragment : BaseFragment(), MyView, View.OnClickListener {
"到期时间 ${TimeRender.formatDate(consumer.expireTime, TimeRender.ALL_FORMAT_LINE)}"
}
} else {
tv_my_status.text = "开通会员 立享特权"
fl_my_vip.visibility = View.VISIBLE
tv_my_vip.text = "开通VIP会员"
tv_my_status.text = "解锁全部短剧"
tv_my_btn.visibility = View.VISIBLE
if (consumer.activiteFlag == 1) {
//匹配用户
tv_my_btn.text = "¥0.01元开通"
......@@ -226,39 +128,12 @@ class MyFragment : BaseFragment(), MyView, View.OnClickListener {
}
private fun initListener() {
fl_my_vip.setOnClickListener(this)
ll_my_vip.setOnClickListener(this)
iv_my_set.setOnClickListener(this)
civ_my.setOnClickListener(this)
tv_my_btn.setOnClickListener(this)
tv_my_account.setOnClickListener(this)
iv_my_hint.setOnClickListener(this)
ll_vip_agree.setOnClickListener(this)
ll_contactus2.setOnClickListener(this)
ll_contactus.setOnClickListener(this)
ll_backcash.setOnClickListener(this)
ll_record.setOnClickListener(this)
ll_feedback.setOnClickListener(this)
ll_my_record.setOnClickListener(this)
ll_my_feed.setOnClickListener(this)
ll_my_payrecord.setOnClickListener(this)
ll_my_setting.setOnClickListener(this)
}
private fun emailDialog() {
val address = "dev_apple@tech-mints.cn"
DialogUtils.showLeftDialog(
requireActivity(),
SpanUtils()
.append("退款用户请发送邮件到\n")
.append(address)
.setForegroundColor(ContextCompat.getColor(requireActivity(), R.color.color_FF9837))
.create(),
"提示",
"复制",
object : DialogListener() {
override fun onClick(dialog: Dialog?, v: View?) {
dialog?.dismiss()
UcropUtils.clipData(address)
showToast("邮箱已经复制到您的剪切板上!")
}
})
}
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="#95000000" />
<solid android:color="#99000000" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="5dip" />
......
<?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">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY" />
<TextView
android:id="@+id/bannerTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:singleLine="true"
android:textSize="18sp"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:layout_marginBottom="8dp"
android:layout_alignParentBottom="true"/>
</RelativeLayout>
\ No newline at end of file
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout 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"
......@@ -147,8 +147,10 @@
android:id="@+id/ll_main_watching_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_margin="15dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_bg_black">
<ImageView
......@@ -198,10 +200,11 @@
<ImageView
android:id="@+id/iv_main_watching_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginTop="4dp"
android:layout_marginRight="4dp"
android:layout_alignParentRight="true"
android:padding="5dp"
android:src="@mipmap/ic_activity_quit"></ImageView>
<TextView
......@@ -223,4 +226,4 @@
android:textStyle="bold" />
</RelativeLayout>
</LinearLayout>
</FrameLayout>
</RelativeLayout>
......@@ -30,28 +30,8 @@
android:background="@mipmap/bg_my"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginTop="20dp"
android:layout_marginEnd="10dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_my_set"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_margin="10dp"
android:src="@mipmap/ic_my_top_set" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_marginTop="56dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
......@@ -69,172 +49,68 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="10dp"
android:text="登录探索更多功能"
android:textColor="@color/white"
android:text="登录/注册"
android:textColor="@color/black"
android:textSize="22sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="170dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="-110dp"
android:layout_marginRight="10dp"
android:background="@drawable/bg_shape_my"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_my_vip" />
<TextView
android:id="@+id/tv_my_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开通会员 立享特权"
android:textColor="@color/white"
android:textSize="16sp"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:id="@+id/fl_my_vip"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bg_shape_my_vip2"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:text="开通会员"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_my_vip"
android:layout_width="140dp"
android:layout_height="match_parent"
android:background="@drawable/bg_shape_my_vip"
android:gravity="center"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingRight="10dp">
<TextView
android:id="@+id/tv_my_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="6dp"
android:text="立即开通"
android:textColor="#0C0D0E"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/iv_my_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:src="@mipmap/bg_my_hint2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:background="@drawable/shape_bg_mobile"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_vip_agree"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="20dp"
android:paddingEnd="20dp">
android:layout_marginTop="-120dp"
android:layout_height="wrap_content"
android:layout_marginLeft="14dp"
android:layout_marginRight="14dp"
android:background="@mipmap/bg_my_vip"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="0dp"
android:id="@+id/tv_my_vip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="会员服务协议"
android:text="开通VIP会员"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:padding="6dp"
android:src="@mipmap/ic_arrow_more" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/my_color_gray" />
<LinearLayout
android:id="@+id/ll_contactus2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="20dp"
android:paddingEnd="20dp">
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_contact"
android:layout_width="0dp"
android:id="@+id/tv_my_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="如有问题,请直接联系在线客服\n"
android:layout_marginTop="10dp"
android:text="解锁全部短剧"
android:textColor="@color/black" />
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:padding="6dp"
android:src="@mipmap/ic_arrow_more" />
<Button
android:id="@+id/tv_my_btn"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginTop="40dp"
android:background="@drawable/shape_red"
android:text="立即开通"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/my_color_gray" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="14dp"
android:background="@drawable/shape_bg_mobile"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_contactus"
android:id="@+id/ll_my_record"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
......@@ -246,7 +122,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="联系客服"
android:text="观看记录"
android:textColor="@color/black"
android:textSize="16sp" />
......@@ -263,8 +139,10 @@
android:layout_height="1dp"
android:background="@color/my_color_gray" />
<LinearLayout
android:id="@+id/ll_backcash"
android:id="@+id/ll_my_feed"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
......@@ -276,7 +154,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="申请退款"
android:text="意见反馈"
android:textColor="@color/black"
android:textSize="16sp" />
......@@ -294,7 +172,7 @@
android:background="@color/my_color_gray" />
<LinearLayout
android:id="@+id/ll_record"
android:id="@+id/ll_my_payrecord"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
......@@ -306,7 +184,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="购买记录"
android:text="取消订阅"
android:textColor="@color/black"
android:textSize="16sp" />
......@@ -324,7 +202,7 @@
android:background="@color/my_color_gray" />
<LinearLayout
android:id="@+id/ll_feedback"
android:id="@+id/ll_my_setting"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
......@@ -336,7 +214,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="问题反馈"
android:text="设置"
android:textColor="@color/black"
android:textSize="16sp" />
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="bannerTitle" type="id" />
</resources>
\ No newline at end of file
<resources xmlns:tools="http://schemas.android.com/tools">
<resources>
<style name="SwipeBackLayout">
<item name="edge_size">0dp</item>
</style>
......@@ -85,7 +86,32 @@
<item name="android:button">@drawable/selector_cb</item>
</style>
<style name="BottomDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowTitleStyle">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowAnimationStyle">@style/BottomDialog.AnimationStyle</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>
<style name="BottomDialog.AnimationStyle" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/push_bottom_in</item>
<item name="android:windowExitAnimation">@anim/push_bottom_out</item>
</style>
<!--Big File Detail Alert Dialog-->
<style name="TransTabLayoutTextSize">
<item name="android:textSize">16sp</item>
</style>
<style name="Theme.ADSplash" parent="Theme.Light">
<!-- <item name="android:windowBackground">@drawable/splash</item>-->
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.Light" parent="Theme.AppCompat.Light">
<item name="android:windowBackground">@color/white</item>
</style>
</resources>
......@@ -8,8 +8,20 @@
<item name="android:windowAnimationStyle">@null</item>
</style>
<style name="TransparentTheme" parent="Theme.AppCompat.NoActionBar">
<!--不设置activity进入和退出动画样式-->
<item name="android:windowAnimationStyle">@null</item>
<!--设置窗口的背景为透明,设置透明背景必须要设置此项-->
<item name="android:windowBackground">@color/full_transparent</item>
<!--设置窗口的背景是否为半透明,设置透明背景必须要设置此项-->
<item name="android:windowIsTranslucent">true</item>
<!--设置状态栏的背景为半透明-->
<item name="android:windowTranslucentStatus">true</item>
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">@drawable/sr_primary</item>
<item name="colorPrimaryDark">@drawable/sr_primary</item>
......
......@@ -40,11 +40,7 @@ WEIXIN_APP_ID =wx6830d86ba20be254
WEIXIN_APP_SECRET =91f91c0721bd989cf8b9c9b8dc8a5e9c
#umeng
<<<<<<< Updated upstream
RELEASE_UMENG_KEY=64a67d4fa1a164591b44f0e8
=======
RELEASE_UMENG_KEY=63c0fd97d64e68613917170f
>>>>>>> Stashed changes
GROMORE_APP_ID="5404192"
GROMORE_SPLASH_CODE="102371299"
......
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