修改通知,会员充值UI

This commit is contained in:
guozhen 2025-05-13 16:51:16 +08:00
parent 01074ed199
commit 24a1f99ca6
26 changed files with 234 additions and 37 deletions

View File

@ -58,6 +58,7 @@
</activity>
<activity
android:name=".topics.abslRwgt.AExtractionActivity"
android:launchMode="singleTask"
android:exported="true">
</activity>

View File

@ -32,7 +32,7 @@ public class NotifyUtils {
intent.putExtra(
"android.provider.extra.APP_PACKAGE",
context.getPackageName());
context.startActivity(intent);
resultLauncher.launch(intent);
} else {
intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
intent.setData(Uri.fromParts("package", context.getPackageName(), null));

View File

@ -98,7 +98,7 @@ public class TimeUtils {
long lastOpenTime = TIndicator.getLong(ITItem.CONSTANTS_NotifyTime_key, 0);
if (lastOpenTime != 0) {
long current = System.currentTimeMillis();
if (current - lastOpenTime >= (24 * 60 * 60 * 1000)) {
if (current - lastOpenTime >= 0) { //(24 * 60 * 60 * 1000)
TIndicator.saveLong(ITItem.CONSTANTS_NotifyTime_key, System.currentTimeMillis());
return true;
} else {
@ -114,7 +114,7 @@ public class TimeUtils {
long lastOpenTime = TIndicator.getLong(ITItem.CONSTANTS_VipPurchaseTime_key, 0);
if (lastOpenTime != 0) {
long current = System.currentTimeMillis();
if (current - lastOpenTime >= (60 * 60 * 1000)) {
if (current - lastOpenTime >=0 ) { //(60 * 60 * 1000)
TIndicator.saveLong(ITItem.CONSTANTS_VipPurchaseTime_key, System.currentTimeMillis());
return true;
} else {

View File

@ -26,11 +26,12 @@ import com.shortdrama.jelly.zyreotv.topics.abslRwgt.AExtractionActivity;
import org.greenrobot.eventbus.EventBus;
import java.util.Map;
import java.util.UUID;
public class MyFirebaseMessageService extends FirebaseMessagingService {
private int notificationId = 0;
// private int notificationId = 0;
@Override
public void onMessageReceived(@NonNull RemoteMessage message) {
@ -115,13 +116,16 @@ public class MyFirebaseMessageService extends FirebaseMessagingService {
}
}
public void setNotification(Intent intent, String title, String messageBody, Bitmap bitmap) {
PendingIntent pendingIntent;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
} else {
pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
// } else {
// pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// }
int fromNotifyType = UUID.randomUUID().toString().hashCode();
PendingIntent pendingIntent = PendingIntent.getActivity(this, fromNotifyType, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
String channelId = getString(R.string.default_notification_channel_id);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder;
@ -154,8 +158,7 @@ public class MyFirebaseMessageService extends FirebaseMessagingService {
notificationManager.createNotificationChannel(channel);
}
notificationId++;
notificationManager.notify(notificationId, notificationBuilder.build());
notificationManager.notify(fromNotifyType, notificationBuilder.build());
}
}

View File

@ -8,7 +8,9 @@ import static android.view.View.VISIBLE;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.util.Pair;
import androidx.fragment.app.Fragment;
@ -37,10 +39,12 @@ import com.google.android.gms.tasks.Task;
import com.google.firebase.FirebaseApp;
import com.google.firebase.messaging.FirebaseMessaging;
import com.shortdrama.jelly.zyreotv.R;
import com.shortdrama.jelly.zyreotv.beginning.AppUtils;
import com.shortdrama.jelly.zyreotv.beginning.ITItem;
import com.shortdrama.jelly.zyreotv.beginning.LRewards;
import com.shortdrama.jelly.zyreotv.beginning.LogUtils;
import com.shortdrama.jelly.zyreotv.beginning.NotifyUtils;
import com.shortdrama.jelly.zyreotv.beginning.PAYLoginHeaddefault;
import com.shortdrama.jelly.zyreotv.beginning.REnterCircle;
import com.shortdrama.jelly.zyreotv.beginning.TIndicator;
import com.shortdrama.jelly.zyreotv.beginning.TimeUtils;
@ -98,6 +102,8 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
private int shortPlayId = 0;
private int videoId = 0;
private boolean isRequestNotify = true;
private boolean needSave = false;
private GSMainEpisodeBean gsMainEpisodeBean;
@ -122,10 +128,13 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
@Override
public void initView() {
LogUtils.d("notify=== initView" + getIntent().getStringExtra("path"));
path = getIntent().getStringExtra("path");
short_play_id = getIntent().getStringExtra("short_play_id");
message_id = getIntent().getStringExtra("message_id");
title = getIntent().getStringExtra("title");
List<Fragment> fragments = new ArrayList<>();
boolean showe = false;
jobDetailsFragment = VItemGradlewFragment.newInstance();
@ -190,6 +199,7 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
//FirebaseApp.initializeApp(this);
resultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
isRequestNotify = false;
if (result.getResultCode() == RESULT_OK) {
boolean isEnable = NotifyUtils.isNotificationEnable(this);
if (isEnable) {
@ -216,8 +226,10 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
LogUtils.d("notify== onNewIntent");
setIntent(intent);
if (intent != null) {
LogUtils.d("notify=== onNewIntent" + getIntent().getStringExtra("path"));
path = intent.getStringExtra("path");
short_play_id = intent.getStringExtra("short_play_id");
message_id = intent.getStringExtra("message_id");
@ -259,7 +271,7 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
binding.getRoot().postDelayed(new Runnable() {
@Override
public void run() {
if (TextUtils.isEmpty(message_id)) {
if (!TextUtils.isEmpty(message_id)) {
TIndicator.saveString(ITItem.Constants_FeedBackList_ID, message_id);
}
LRewards.startWebViewActivity(AExtractionActivity.this, KGZyreotv.GleeStream_Feedback_Details, translates != null ? translates.getGleestream_feedback_details() : "FeedBack Details", ZYTWebViewIndexActivity.class);
@ -271,6 +283,8 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
}
private int REQUEST_POST_NOTIFICATIONS = 222;
private void askNotificationPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
@ -278,13 +292,18 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
this, Manifest.permission.POST_NOTIFICATIONS
) == PackageManager.PERMISSION_GRANTED
) {
isRequestNotify = false;
firebaseToken();
userViewModel.opendNotify();
} else {
openNotificationDialog();
ActivityCompat.requestPermissions(
this, new String[]{Manifest.permission.POST_NOTIFICATIONS},
REQUEST_POST_NOTIFICATIONS);
// openNotificationDialog();
}
} else {
if (NotifyUtils.isNotificationEnable(this)) {
isRequestNotify = false;
firebaseToken();
userViewModel.opendNotify();
} else {
@ -293,9 +312,28 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_POST_NOTIFICATIONS) {
if (grantResults.length > 0 && grantResults[0] == 0) {
isRequestNotify = false;
firebaseToken();
userViewModel.opendNotify();
} else {
openNotificationDialog();
}
}
}
public void openNotificationDialog() {
if (!TimeUtils.notifyIsOpen()) {
isRequestNotify = false;
if (shortPlayId != 0) {
jumpDetails();
}
return;
}
NotifyDialog notifyDialog = new NotifyDialog(this);
@ -304,6 +342,14 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
public void toOpen() {
NotifyUtils.openSettingNotification(AExtractionActivity.this, resultLauncher);
}
@Override
public void toClose() {
isRequestNotify = false;
if (shortPlayId != 0) {
jumpDetails();
}
}
});
notifyDialog.show();
}
@ -392,9 +438,10 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
binding.getRoot().postDelayed(new Runnable() {
@Override
public void run() {
LRewards.startPlayerDetails(AExtractionActivity.this, shortPlayId, videoId);
TIndicator.saveString(ITItem.Constants_DeepLinkData_URL, "");
cleanClipData();
if (isRequestNotify) {
return;
}
jumpDetails();
}
}, 1000);
@ -402,6 +449,13 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
needSave = false;
}
private void jumpDetails() {
LRewards.startPlayerDetails(AExtractionActivity.this, shortPlayId, videoId);
TIndicator.saveString(ITItem.Constants_DeepLinkData_URL, "");
cleanClipData();
}
private String getClipContent() {
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(
CLIPBOARD_SERVICE);
@ -453,6 +507,7 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
@Override
protected void onResume() {
super.onResume();
LogUtils.d("onResume");
getWindow().getDecorView().post(new Runnable() {
@Override
public void run() {
@ -489,18 +544,21 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
Matcher matchResult = matcher.find() ? matcher : null;
Matcher matchVideoIdResult = matcherVideoId.find() ? matcherVideoId : null;
if (matchResult != null) {
String shortPlayId = matchResult.group(1);
int shortDeepId = Integer.parseInt(shortPlayId);
String shortPlayIdValue = matchResult.group(1);
shortPlayId = Integer.parseInt(shortPlayIdValue);
if (matchVideoIdResult != null) {
String videoIdValue = matchVideoIdResult.group(1);
videoId = Integer.parseInt(videoIdValue);
}
if (shortDeepId != 0) {
if (shortPlayId != 0) {
binding.getRoot().postDelayed(new Runnable() {
@Override
public void run() {
LRewards.startPlayerDetails(AExtractionActivity.this, shortDeepId, videoId);
TIndicator.saveString(ITItem.Constants_DeepLinkData_URL, "");
if (isRequestNotify) {
return;
}
jumpDetails();
}
}, 200);
}

View File

@ -19,6 +19,7 @@ import android.text.TextUtils;
import com.shortdrama.jelly.zyreotv.R;
import com.shortdrama.jelly.zyreotv.beginning.ITItem;
import com.shortdrama.jelly.zyreotv.beginning.LogUtils;
import com.shortdrama.jelly.zyreotv.beginning.TIndicator;
import com.shortdrama.jelly.zyreotv.databinding.GEventBottomBinding;
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma.IDDetailsRoundActivity;
@ -37,6 +38,7 @@ public class IIUAgreementBuildActivity extends IDDetailsRoundActivity<GEventBott
@Override
public void initView() {
LogUtils.d("notify== splash initview");
if (TextUtils.isEmpty(TIndicator.getString(ITItem.CONSTANTS_Lang_key, ""))) {
String lang = Locale.getDefault().getLanguage();
TIndicator.saveString(ITItem.CONSTANTS_Lang_key, CONSTANTS_Lang_key_System + lang);
@ -57,6 +59,7 @@ public class IIUAgreementBuildActivity extends IDDetailsRoundActivity<GEventBott
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
LogUtils.d("notify== splash onNewIntent");
Uri uriUrl = intent.getData();
if (null != uriUrl) {
TIndicator.saveString(ITItem.Constants_DeepLinkData_URL, uriUrl.toString());

View File

@ -108,6 +108,11 @@ public class ZYTSettingActivity extends IDDetailsRoundActivity<ActivitySettingZy
public void toOpen() {
NotifyUtils.openSettingNotification(ZYTSettingActivity.this, resultLauncher);
}
@Override
public void toClose() {
}
});
dialog.show();
} else {

View File

@ -86,8 +86,8 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
dialogRechargeBinding = DialogPageEpisodesRechargeZytBinding.inflate(getLayoutInflater());
AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity());
translates = AppUtils.getTranslates();
if(translates!=null){
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText(translates.getGleestream_coins());
if (translates != null) {
// dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText(translates.getGleestream_coins());
dialogRechargeBinding.layoutStoreRecharge.tvStoreMembership.setText(translates.getGleestream_membership());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce01.setText(translates.getGleestream_vip_introduct1());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce02.setText(translates.getGleestream_vip_introduct2());
@ -99,7 +99,7 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce08.setText(translates.getGleestream_vip_introduct8());
}
vtUserViewModel = new ViewModelProvider(this).get(GXCProgressLogin.class);
dialogRechargeBinding.avi.show();
zytGooglePayUtils.setqueryProductResult(new ZYTGooglePayUtils.QueryProductResult() {
@Override
@ -134,10 +134,11 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
if (parcelable instanceof LSQExampleCloseBean.YPZTestUnselect) {
episode = (LSQExampleCloseBean.YPZTestUnselect) parcelable;
shorplayId = episode.getShort_play_id();
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText((translates!=null?translates.getGleestream_coins():getString(R.string.coins_txt)) + " " + episode.getCoins());
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText((translates != null ? translates.getGleestream_coins() : getString(R.string.coins_txt)) + " " + episode.getCoins());
vtUserViewModel.getPaySetting(shorplayId, episode.getShort_play_video_id());
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsvalue.setText(Html.fromHtml(getString(R.string.store_coins, TIndicator.getAllCoin()),
FROM_HTML_MODE_LEGACY));
// dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsvalue.setText((translates != null ? translates.getGleestream_youcoins() : getString(R.string.store_coins_your)) + Html.fromHtml(getString(R.string.store_coins, TIndicator.getAllCoin()),
// FROM_HTML_MODE_LEGACY));
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsvalue.setText((translates != null ? translates.getGleestream_youcoins() : getString(R.string.store_coins_your)) + ": " + (TIndicator.getAllCoin()));
}
}
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 2);

View File

@ -285,7 +285,7 @@ public class ZYTVideoPlayerDetailsActivity extends IDDetailsRoundActivity<MchDim
if (currentPosition > 0) {
LSQExampleCloseBean.YPZTestUnselect previousItem = vtGooglePlayerAdapter.getItems().get(currentPosition - 1);
if (previousItem != null && previousItem.isIs_lock()) {
viewBinding.viewLock.tvUnlockEpisode.setText(getString(R.string.unlock_episode_coins_last));
viewBinding.viewLock.tvUnlockEpisode.setText(translates!=null?translates.getGleestream_lock():getString(R.string.unlock_episode_coins_last));
} else {
if (translates != null) {
viewBinding.viewLock.tvUnlockEpisode.setText(AppUtils.replace(translates.getGleestream_unlock_coins(), String.valueOf(item.getCoins())));

View File

@ -33,6 +33,8 @@ public class NotifyDialog extends Dialog {
public interface OnSureListener {
void toOpen();
void toClose();
}
public void setOnSureListener(OnSureListener onNextCallListener) {
@ -51,9 +53,15 @@ public class NotifyDialog extends Dialog {
binding.tvDialognotifyContent.setText(translates.getGleestream_notify_content());
}
binding.ivDialognotifyClose.setOnClickListener(v -> {
if (onSureListener != null) {
onSureListener.toClose();
}
dismiss();
});
binding.tvDialognotifyLater.setOnClickListener(v -> {
if (onSureListener != null) {
onSureListener.toClose();
}
dismiss();
});
binding.tvDialognotifyOpen.setOnClickListener(v -> {

View File

@ -81,7 +81,7 @@ public class VipPurchaseDialog extends Dialog {
}
subVipAdapter = new ZYTStoreSubVipAdapter();
binding.recyclerviewDialogVippurchase.setLayoutManager(new LinearLayoutManager(getContext()));
binding.recyclerviewDialogVippurchase.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
binding.recyclerviewDialogVippurchase.setAdapter(subVipAdapter);
subVipAdapter.submitList(list);
subVipAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {

View File

@ -1,9 +1,11 @@
package com.shortdrama.jelly.zyreotv.topics.dts;
import android.content.Context;
import android.graphics.Color;
import android.view.ViewGroup;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.chad.library.adapter4.BaseQuickAdapter;
import com.chad.library.adapter4.viewholder.QuickViewHolder;
@ -27,6 +29,7 @@ public class ZYTStoreSubVipAdapter extends BaseQuickAdapter<ZYTPaySettingBean.Vi
protected void onBindViewHolder(QuickViewHolder holder, int position, ZYTPaySettingBean.Vip item) {
ConstraintLayout constraintLayout = holder.getView(R.id.item_membership_root);
AppCompatTextView tvTitle = holder.getView(R.id.tv_membership_title);
AppCompatTextView tvCurrency = holder.getView(R.id.tv_membership_pricetype);
AppCompatTextView tvPrice = holder.getView(R.id.tv_membership_price);
@ -34,6 +37,38 @@ public class ZYTStoreSubVipAdapter extends BaseQuickAdapter<ZYTPaySettingBean.Vi
AppCompatTextView tvDesc = holder.getView(R.id.tv_membership_desc);
AppCompatTextView tvDonateCoins = holder.getView(R.id.tv_membership_donatecoins);
AppCompatTextView tvIntroduce = holder.getView(R.id.tv_membership_introduce);
if (position == 0) {
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_one);
tvTitle.setTextColor(Color.parseColor("#68003B"));
tvCurrency.setTextColor(Color.parseColor("#68003B"));
tvPrice.setTextColor(Color.parseColor("#68003B"));
tvVipType.setTextColor(Color.parseColor("#68003B"));
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_one_14dp);
}
if (position == 1) {
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_two);
tvTitle.setTextColor(Color.parseColor("#71412B"));
tvCurrency.setTextColor(Color.parseColor("#71412B"));
tvPrice.setTextColor(Color.parseColor("#71412B"));
tvVipType.setTextColor(Color.parseColor("#71412B"));
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_two_14dp);
}
if (position == 2) {
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_three);
tvTitle.setTextColor(Color.parseColor("#221C80"));
tvCurrency.setTextColor(Color.parseColor("#221C80"));
tvPrice.setTextColor(Color.parseColor("#221C80"));
tvVipType.setTextColor(Color.parseColor("#221C80"));
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_three_14dp);
}
if (position == 3) {
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_four);
tvTitle.setTextColor(Color.parseColor("#00438D"));
tvCurrency.setTextColor(Color.parseColor("#00438D"));
tvPrice.setTextColor(Color.parseColor("#00438D"));
tvVipType.setTextColor(Color.parseColor("#00438D"));
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_four_14dp);
}
tvTitle.setText(item.getBrief() + "");
tvCurrency.setText(item.getCurrency() + "");

View File

@ -40,6 +40,7 @@ public class GSTranslatesBean {
private String gleestream_store;
private String gleestream_donate;
private String gleestream_coins;
private String gleestream_youcoins;
private String gleestream_mywallet;
private String gleestream_login;
private String gleestream_setting_logout;
@ -1018,6 +1019,14 @@ public class GSTranslatesBean {
this.gleestream_coins = gleestream_coins;
}
public String getGleestream_youcoins() {
return gleestream_youcoins;
}
public void setGleestream_youcoins(String gleestream_youcoins) {
this.gleestream_youcoins = gleestream_youcoins;
}
public String getGleestream_mywallet() {
return gleestream_mywallet;
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/white">
<!-- 默认显⽰效果-->
<item>
<shape android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#94BCFF"
android:startColor="#6BD1FF"
android:type="linear"
android:useLevel="true" />
<corners android:radius="@dimen/detailsClickTatus" />
</shape>
</item>
</ripple>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/white">
<!-- 默认显⽰效果-->
<item>
<shape android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#FFA7D9"
android:startColor="#FF719D"
android:type="linear"
android:useLevel="true" />
<corners android:radius="@dimen/detailsClickTatus" />
</shape>
</item>
</ripple>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/white">
<!-- 默认显⽰效果-->
<item>
<shape android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#ADA7FF"
android:startColor="#A5B3FF"
android:type="linear"
android:useLevel="true" />
<corners android:radius="@dimen/detailsClickTatus" />
</shape>
</item>
</ripple>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/white">
<!-- 默认显⽰效果-->
<item>
<shape android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#FFB69A"
android:startColor="#FFC270"
android:type="linear"
android:useLevel="true" />
<corners android:radius="@dimen/detailsClickTatus" />
</shape>
</item>
</ripple>

View File

@ -122,13 +122,12 @@
app:layout_constraintTop_toBottomOf="@+id/tv_dialog_vippurchase_adfree" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview_dialog_vippurchase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="15dp"
android:minHeight="100dp"
app:layout_constraintBottom_toBottomOf="parent"

View File

@ -3,8 +3,11 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/item_membership_root"
android:layout_marginTop="@dimen/agreementLock"
android:background="@mipmap/ic_vip_month_bg"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:background="@mipmap/ic_vippurchase_bg_one"
android:paddingStart="@dimen/followHistoryOllow"
android:paddingBottom="@dimen/backupHistory">
@ -31,6 +34,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/agreementLock"
android:text="@string/vip_weekly_membership_txt"
android:textStyle="bold"
android:textColor="@color/color_e6ffffff"
android:textSize="@dimen/gradleAgreement"
app:layout_constraintStart_toStartOf="parent"

View File

@ -57,9 +57,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_store_membership"
android:layout_marginStart="@dimen/followHistoryOllow"
android:layout_marginTop="@dimen/rechargeGradient"
android:layout_marginEnd="@dimen/followHistoryOllow" />
android:layout_marginTop="@dimen/rechargeGradient" />
<include
android:id="@+id/layout_vip_introduct"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

View File

@ -100,7 +100,8 @@
<string name="vip_introduce_all_8">8. For other questions, contact us via Profile>Help &amp;feedback.</string>
<string name="recharge_limit_txt">Time limited offer</string>
<string name="store_coins"><![CDATA[Your Coins: <font color = \'#E94588\' size = 12 >%d</font>]]></string>
<string name="store_coins"><![CDATA[<font color = \'#E94588\' size = 12 >%d</font>]]></string>
<string name="store_coins_your">Your Coins</string>
<string name="store_membership">Membership</string>