From 9f54c26d0eefd75d0dc3a8b10dba5e7ec7e168c1 Mon Sep 17 00:00:00 2001 From: yujiankang <15535958281@163.com> Date: Fri, 26 Sep 2025 16:00:01 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=88=E5=B9=B6=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xscm/moduleutil/view/QXMeetGiftView.java | 269 ++++++++++++++++++ .../res/layout/fragment_tour_club_dialog.xml | 147 +++++----- moduleUtil/src/main/res/values/attrs.xml | 24 ++ .../modulemain/activity/MainActivity.java | 18 +- .../moduleroom/view/QXMeetGiftView.java | 258 ----------------- .../src/main/res/layout/activity_room.xml | 3 + 6 files changed, 370 insertions(+), 349 deletions(-) create mode 100644 moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java delete mode 100644 moduleroom/src/main/java/com/example/moduleroom/view/QXMeetGiftView.java diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java b/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java new file mode 100644 index 0000000..7bdf70c --- /dev/null +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/view/QXMeetGiftView.java @@ -0,0 +1,269 @@ +//package com.xscm.moduleutil.view; +// +//import android.content.Context; +// +// +// +//import android.content.res.TypedArray; +//import android.graphics.drawable.Drawable; +//import android.util.AttributeSet; +//import android.util.TypedValue; +//import android.view.Gravity; +//import android.view.View; +//import android.view.animation.Animation; +//import android.view.animation.RotateAnimation; +//import android.widget.Button; +//import android.widget.ImageView; +//import android.widget.RelativeLayout; +//import android.widget.TextView; +// +//import androidx.annotation.Nullable; +// +//import com.xscm.moduleutil.R; +// +// +//public class QXMeetGiftView extends RelativeLayout { +// +// private TextView giftNameLabel; +// private ImageView giftPriceBgView; +// private Button giftCoin; +// private ImageView bgImageView; +// private ImageView giftBgImageView; +// private ImageView giftImageView; +// +// // 自定义属性变量 +// private int normalBgRes; +// private int lockBgRes; +// private int giftLightBgRes; +// private int priceBgRes; +// private int coinIconRes; +// private int giftNameColor; +// private int coinTextColor; +// private float giftNameSize; +// private float coinTextSize; +// private int bgBottomMargin; +// private int giftImageMargin; +// private int priceBgHeight; +// private int priceBgBottomMargin; +// private int lockGiftSize; +// private int rotateDuration; +// +// private boolean isLockGift; +// private Object model; +// +// public QXMeetGiftView(Context context) { +// this(context, null); +// } +// +// public QXMeetGiftView(Context context, @Nullable AttributeSet attrs) { +// this(context, attrs, 0); +// } +// +// public QXMeetGiftView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { +// super(context, attrs, defStyleAttr); +// // 解析自定义属性 +// initAttrs(context, attrs); +// // 初始化子视图 +// initSubviews(context); +// } +// +// /** +// * 解析自定义属性,设置默认值 +// */ +// private void initAttrs(Context context, AttributeSet attrs) { +// TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.QXMeetGiftView); +// +// // 背景资源(默认使用原代码中的资源) +// normalBgRes = ta.getResourceId(R.styleable.QXMeetGiftView_normalBg, R.drawable.ac_left_gift_bg); +// lockBgRes = ta.getResourceId(R.styleable.QXMeetGiftView_lockBg, R.drawable.ac_lock_gift_bg); +// giftLightBgRes = ta.getResourceId(R.styleable.QXMeetGiftView_giftLightBg, R.drawable.ac_lock_gift_light_bg); +// priceBgRes = ta.getResourceId(R.styleable.QXMeetGiftView_priceBg, R.drawable.ac_meet_gift_name_bg); +// coinIconRes = ta.getResourceId(R.styleable.QXMeetGiftView_coinIcon, R.drawable.sky_item_coin); +// +// // 文字样式 +// giftNameColor = ta.getColor(R.styleable.QXMeetGiftView_giftNameColor, 0xFFFFFFFF); +// coinTextColor = ta.getColor(R.styleable.QXMeetGiftView_coinTextColor, 0xFFC7BF62); +// giftNameSize = ta.getDimension(R.styleable.QXMeetGiftView_giftNameSize, sp2px(12)); +// coinTextSize = ta.getDimension(R.styleable.QXMeetGiftView_coinTextSize, sp2px(10)); +// +// // 尺寸配置 +// bgBottomMargin = ta.getDimensionPixelOffset(R.styleable.QXMeetGiftView_bgBottomMargin, dp2px(19)); +// giftImageMargin = ta.getDimensionPixelOffset(R.styleable.QXMeetGiftView_giftImageMargin, dp2px(6)); +// priceBgHeight = ta.getDimensionPixelOffset(R.styleable.QXMeetGiftView_priceBgHeight, dp2px(15)); +// priceBgBottomMargin = ta.getDimensionPixelOffset(R.styleable.QXMeetGiftView_priceBgBottomMargin, dp2px(15)); +// lockGiftSize = ta.getDimensionPixelOffset(R.styleable.QXMeetGiftView_lockGiftSize, dp2px(62)); +// +// // 动画时长 +// rotateDuration = ta.getInt(R.styleable.QXMeetGiftView_rotateDuration, 3000); +// +// ta.recycle(); // 回收资源,避免内存泄漏 +// } +// +// private void initSubviews(Context context) { +// // 1. 主背景 +// bgImageView = new ImageView(context); +// bgImageView.setScaleType(ImageView.ScaleType.FIT_XY); +// bgImageView.setImageResource(normalBgRes); // 使用自定义属性 +// LayoutParams bgParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); +// bgParams.addRule(ALIGN_PARENT_TOP); +// bgParams.addRule(ALIGN_PARENT_LEFT); +// bgParams.addRule(ALIGN_PARENT_RIGHT); +// bgParams.bottomMargin = bgBottomMargin; // 使用自定义属性 +// addView(bgImageView, bgParams); +// +// // 2. 礼物光效背景 +// giftBgImageView = new ImageView(context); +// giftBgImageView.setScaleType(ImageView.ScaleType.FIT_XY); +// giftBgImageView.setImageResource(giftLightBgRes); // 使用自定义属性 +// giftBgImageView.setVisibility(View.GONE); +// LayoutParams giftBgParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); +// giftBgParams.addRule(ALIGN_PARENT_TOP); +// giftBgParams.addRule(ALIGN_PARENT_LEFT); +// giftBgParams.addRule(ALIGN_PARENT_RIGHT); +// giftBgParams.bottomMargin = bgBottomMargin; // 使用自定义属性 +// addView(giftBgImageView, giftBgParams); +// +// // 3. 礼物图片 +// giftImageView = new ImageView(context); +// giftImageView.setScaleType(ImageView.ScaleType.FIT_CENTER); +// LayoutParams giftImageParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); +// giftImageParams.addRule(CENTER_IN_PARENT); +// giftImageParams.setMargins(giftImageMargin, giftImageMargin, giftImageMargin, 0); // 使用自定义属性 +// addView(giftImageView, giftImageParams); +// +// // 4. 价格背景 +// giftPriceBgView = new ImageView(context); +// giftPriceBgView.setImageResource(priceBgRes); // 使用自定义属性 +// LayoutParams priceBgParams = new LayoutParams(LayoutParams.MATCH_PARENT, priceBgHeight); // 使用自定义属性 +// priceBgParams.addRule(ALIGN_PARENT_BOTTOM); +// priceBgParams.bottomMargin = priceBgBottomMargin; // 使用自定义属性 +// addView(giftPriceBgView, priceBgParams); +// +// // 5. 金币按钮 +// giftCoin = new Button(context); +// giftCoin.setTextColor(coinTextColor); // 使用自定义属性 +// giftCoin.setTextSize(TypedValue.COMPLEX_UNIT_PX, coinTextSize); // 使用自定义属性 +// // 金币图标 +// Drawable coinDrawable = getResources().getDrawable(coinIconRes); // 使用自定义属性 +// coinDrawable.setBounds(0, 0, dp2px(12), dp2px(12)); +// giftCoin.setCompoundDrawables(coinDrawable, null, null, null); +// giftCoin.setBackgroundColor(0x00000000); // 透明背景 +// LayoutParams coinParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); +// coinParams.addRule(CENTER_IN_PARENT, TRUE); +// addView(giftCoin, coinParams); +// +// // 6. 礼物名称 +// giftNameLabel = new TextView(context); +// giftNameLabel.setTextColor(giftNameColor); // 使用自定义属性 +// giftNameLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, giftNameSize); // 使用自定义属性 +// giftNameLabel.setGravity(Gravity.CENTER); +// LayoutParams nameParams = new LayoutParams(LayoutParams.MATCH_PARENT, priceBgHeight); // 使用自定义属性 +// nameParams.addRule(ALIGN_PARENT_BOTTOM); +// addView(giftNameLabel, nameParams); +// +// // 调整层级 +// bringChildToFront(giftPriceBgView); +// bringChildToFront(giftCoin); +// } +// +// public void setIsLockGift(boolean isLockGift) { +// this.isLockGift = isLockGift; +// +// // 设置背景图片(使用自定义属性) +// int bgResource = isLockGift ? lockBgRes : normalBgRes; +// bgImageView.setImageResource(bgResource); +// +// // 显示/隐藏光效背景 +// giftBgImageView.setVisibility(isLockGift ? View.VISIBLE : View.GONE); +// +// // 调整礼物图片尺寸(使用自定义属性) +// LayoutParams params = (LayoutParams) giftImageView.getLayoutParams(); +// if (isLockGift) { +// params.width = lockGiftSize; +// params.height = lockGiftSize; +// params.setMargins(0, 0, 0, 0); +// } else { +// params.width = LayoutParams.MATCH_PARENT; +// params.height = LayoutParams.WRAP_CONTENT; +// params.setMargins(giftImageMargin, giftImageMargin, giftImageMargin, 0); +// } +// giftImageView.setLayoutParams(params); +// } +// +// public void setModel(Object model) { +// this.model = model; +// // 实际业务中解析模型数据 +// /* +// if (model instanceof QXDrawGiftModel) { +// QXDrawGiftModel giftModel = (QXDrawGiftModel) model; +// giftNameLabel.setText(giftModel.getGiftName()); +// giftCoin.setText(giftModel.getGiftPrice()); +// // Glide.with(getContext()).load(giftModel.getBaseImage()).into(giftImageView); +// } +// */ +// } +// +// public void startAnimation() { +// // 礼物图片顺时针旋转(使用自定义动画时长) +// RotateAnimation rotateAnimation = new RotateAnimation( +// 0, 360, +// Animation.RELATIVE_TO_SELF, 0.5f, +// Animation.RELATIVE_TO_SELF, 0.5f +// ); +// rotateAnimation.setDuration(rotateDuration); +// rotateAnimation.setRepeatCount(Animation.INFINITE); +// rotateAnimation.setRepeatMode(Animation.RESTART); +// rotateAnimation.setInterpolator(getContext(), android.R.anim.linear_interpolator); +// giftImageView.startAnimation(rotateAnimation); +// +// // 光效背景逆时针旋转 +// RotateAnimation rotateAnimation1 = new RotateAnimation( +// 0, -360, +// Animation.RELATIVE_TO_SELF, 0.5f, +// Animation.RELATIVE_TO_SELF, 0.5f +// ); +// rotateAnimation1.setDuration(rotateDuration); +// rotateAnimation1.setRepeatCount(Animation.INFINITE); +// rotateAnimation1.setRepeatMode(Animation.RESTART); +// rotateAnimation1.setInterpolator(getContext(), android.R.anim.linear_interpolator); +// giftBgImageView.startAnimation(rotateAnimation1); +// } +// +// public void resetAnimation() { +// giftImageView.clearAnimation(); +// giftBgImageView.clearAnimation(); +// } +// +// public void stopAnimation() { +// giftImageView.clearAnimation(); +// giftBgImageView.clearAnimation(); +// } +// +// // dp转px +// private int dp2px(int dp) { +// return (int) TypedValue.applyDimension( +// TypedValue.COMPLEX_UNIT_DIP, +// dp, +// getResources().getDisplayMetrics() +// ); +// } +// +// // sp转px +// private int sp2px(int sp) { +// return (int) TypedValue.applyDimension( +// TypedValue.COMPLEX_UNIT_SP, +// sp, +// getResources().getDisplayMetrics() +// ); +// } +// +// // Getter方法 +// public TextView getGiftNameLabel() { return giftNameLabel; } +// public ImageView getGiftPriceBgView() { return giftPriceBgView; } +// public Button getGiftCoin() { return giftCoin; } +// public ImageView getBgImageView() { return bgImageView; } +// public ImageView getGiftBgImageView() { return giftBgImageView; } +// public ImageView getGiftImageView() { return giftImageView; } +// public boolean isLockGift() { return isLockGift; } +// public Object getModel() { return model; } +//} diff --git a/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml b/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml index cd0c57b..a3817f1 100644 --- a/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml +++ b/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml @@ -89,6 +89,10 @@ app:layout_constraintTop_toTopOf="@+id/tv_bd" tools:text="3" /> + + + + - - - - - - - - - + + + + + + + + + @@ -207,70 +211,69 @@ android:id="@+id/gift_l2" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" android:layout_marginStart="@dimen/dp_25" android:background="@mipmap/xlh_g_2" android:orientation="vertical" - app:layout_constraintBottom_toBottomOf="parent"/> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintBottom_toBottomOf="@+id/gift_l2" + app:layout_constraintEnd_toEndOf="@+id/gift_l2" + app:layout_constraintStart_toStartOf="@+id/gift_l2" + app:layout_constraintTop_toTopOf="@+id/gift_l2" /> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + android:scaleType="fitCenter" + app:layout_constraintEnd_toEndOf="@+id/gift_l3" + app:layout_constraintStart_toStartOf="@+id/gift_l3" + app:layout_constraintTop_toTopOf="@+id/gift_l3" /> + app:layout_constraintEnd_toEndOf="@+id/gift_l3" + app:layout_constraintStart_toStartOf="@+id/gift_l3" + app:layout_constraintTop_toTopOf="@+id/gift_l3" /> + android:textSize="@dimen/sp_10" + app:layout_constraintBottom_toBottomOf="@+id/gift_l3" + app:layout_constraintEnd_toEndOf="@+id/gift_l3" + app:layout_constraintStart_toStartOf="@+id/gift_l3" + tools:text="请选择礼物" /> @@ -281,24 +284,23 @@ android:layout_marginBottom="@dimen/dp_15" android:orientation="horizontal" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" - app:layout_constraintTop_toBottomOf="@+id/cl_gift" app:layout_constraintBottom_toTopOf="@+id/exchange_layout" - /> + app:layout_constraintTop_toBottomOf="@+id/cl_gift" /> - - - - - - - + + + + + + + - - - - - - + + + + + + + app:layout_constraintBottom_toBottomOf="@+id/exchange_layout" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="@+id/exchange_layout" /> + app:layout_constraintBottom_toBottomOf="@+id/exchange_layout" + app:layout_constraintEnd_toStartOf="@+id/tv_option" + app:layout_constraintTop_toTopOf="@+id/exchange_layout" /> + + app:layout_constraintStart_toStartOf="@+id/lottery_buttons_layout"> + android:textSize="@dimen/sp_10" + tools:text="66666" /> - + android:textSize="@dimen/sp_10" + tools:text="10币一次" /> + android:textSize="@dimen/sp_10" + tools:text="100币一次" /> + android:textSize="@dimen/sp_10" + tools:text="1000币一次" /> diff --git a/moduleUtil/src/main/res/values/attrs.xml b/moduleUtil/src/main/res/values/attrs.xml index df00823..8cff417 100644 --- a/moduleUtil/src/main/res/values/attrs.xml +++ b/moduleUtil/src/main/res/values/attrs.xml @@ -35,4 +35,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java index cd659eb..6baeedf 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java @@ -574,23 +574,7 @@ public class MainActivity extends BaseMvpActivity deniedList) { - String message = "需要GPS权限以获取您的精确位置,用于导航/定位功能"; - // 若包含后台权限,补充说明 - - scope.showRequestReasonDialog(deniedList, message, "确定", "取消"); - } - }) - // 权限被永久拒绝时,引导至设置页面 - .onForwardToSettings(new ForwardToSettingsCallback() { - @Override - public void onForwardToSettings(ForwardScope scope, List deniedList) { - scope.showForwardToSettingsDialog(deniedList, "GPS权限被拒绝,无法使用定位功能,请去设置开启", "去设置", "取消"); - } - }) + ) // 权限请求结果回调 .request(new RequestCallback() { @Override diff --git a/moduleroom/src/main/java/com/example/moduleroom/view/QXMeetGiftView.java b/moduleroom/src/main/java/com/example/moduleroom/view/QXMeetGiftView.java deleted file mode 100644 index 33b968b..0000000 --- a/moduleroom/src/main/java/com/example/moduleroom/view/QXMeetGiftView.java +++ /dev/null @@ -1,258 +0,0 @@ -//package com.example.moduleroom.view; -//import android.content.Context; -//import android.graphics.drawable.Drawable; -//import android.util.AttributeSet; -//import android.view.View; -//import android.view.animation.Animation; -//import android.view.animation.RotateAnimation; -//import android.widget.Button; -//import android.widget.ImageView; -//import android.widget.LinearLayout; -//import android.widget.RelativeLayout; -//import android.widget.TextView; -// -//import androidx.annotation.Nullable; -// -//import com.example.moduleroom.R; -// -//public class QXMeetGiftView extends RelativeLayout { -// -// private TextView giftNameLabel; -// private ImageView giftPriceBgView; -// private Button giftCoin; -// private ImageView bgImageView; -// private ImageView giftBgImageView; -// private ImageView giftImageView; -// -// private boolean isLockGift; -// private Object model; // 这里用 Object 代替 QXDrawGiftModel -// -// public QXMeetGiftView(Context context) { -// super(context); -// initSubviews(context); -// } -// -// public QXMeetGiftView(Context context, @Nullable AttributeSet attrs) { -// super(context, attrs); -// initSubviews(context); -// } -// -// public QXMeetGiftView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { -// super(context, attrs, defStyleAttr); -// initSubviews(context); -// } -// -// private void initSubviews(Context context) { -// // 创建背景图片视图 -// bgImageView = new ImageView(context); -// bgImageView.setScaleType(ImageView.ScaleType.FIT_XY); -// bgImageView.setImageResource(R.drawable.ac_left_gift_bg); -// LayoutParams bgParams = new LayoutParams( -// LayoutParams.MATCH_PARENT, -// LayoutParams.MATCH_PARENT -// ); -// bgParams.addRule(ALIGN_PARENT_TOP); -// bgParams.addRule(ALIGN_PARENT_LEFT); -// bgParams.addRule(ALIGN_PARENT_RIGHT); -// bgParams.bottomMargin = dpToPx(19); // 底部偏移-19 -// addView(bgImageView, bgParams); -// -// // 创建礼物背景光效视图 -// giftBgImageView = new ImageView(context); -// giftBgImageView.setScaleType(ImageView.ScaleType.FIT_XY); -// giftBgImageView.setImageResource(R.drawable.ac_lock_gift_light_bg); -// giftBgImageView.setVisibility(View.GONE); // 初始隐藏 -// LayoutParams giftBgParams = new LayoutParams( -// LayoutParams.MATCH_PARENT, -// LayoutParams.MATCH_PARENT -// ); -// giftBgParams.addRule(ALIGN_PARENT_TOP); -// giftBgParams.addRule(ALIGN_PARENT_LEFT); -// giftBgParams.addRule(ALIGN_PARENT_RIGHT); -// giftBgParams.bottomMargin = dpToPx(19); -// addView(giftBgImageView, giftBgParams); -// -// // 创建礼物图片视图 -// giftImageView = new ImageView(context); -// giftImageView.setScaleType(ImageView.ScaleType.FIT_CENTER); -// LayoutParams giftImageParams = new LayoutParams( -// LayoutParams.MATCH_PARENT, -// LayoutParams.WRAP_CONTENT -// ); -// giftImageParams.addRule(CENTER_IN_PARENT); -// giftImageParams.setMargins(dpToPx(6), dpToPx(6), dpToPx(6), 0); -// addView(giftImageView, giftImageParams); -// -// // 创建价格背景视图 -// giftPriceBgView = new ImageView(context); -// giftPriceBgView.setImageResource(R.drawable.ac_meet_gift_name_bg); -// LayoutParams priceBgParams = new LayoutParams( -// LayoutParams.MATCH_PARENT, -// dpToPx(15) -// ); -// priceBgParams.addRule(ALIGN_PARENT_BOTTOM); -// priceBgParams.bottomMargin = dpToPx(15); // 在名称标签上方 -// addView(giftPriceBgView, priceBgParams); -// -// // 创建金币按钮 -// giftCoin = new Button(context); -// giftCoin.setTextColor(0xFFC7BF62); -// // 设置按钮图标 -// Drawable coinDrawable = getResources().getDrawable(R.drawable.sky_item_coin); -// coinDrawable.setBounds(0, 0, dpToPx(12), dpToPx(12)); -// giftCoin.setCompoundDrawables(coinDrawable, null, null, null); -// giftCoin.setTextSize(10); -// giftCoin.setBackgroundColor(0x00000000); // 透明背景 -// LayoutParams coinParams = new LayoutParams( -// LayoutParams.WRAP_CONTENT, -// LayoutParams.WRAP_CONTENT -// ); -// coinParams.addRule(CENTER_IN_PARENT, TRUE); -// addView(giftCoin, coinParams); -// -// // 创建礼物名称标签 -// giftNameLabel = new TextView(context); -// giftNameLabel.setTextColor(0xFFFFFFFF); -// giftNameLabel.setTextSize(12); -// giftNameLabel.setGravity(android.view.Gravity.CENTER); -// LayoutParams nameParams = new LayoutParams( -// LayoutParams.MATCH_PARENT, -// dpToPx(15) -// ); -// nameParams.addRule(ALIGN_PARENT_BOTTOM); -// addView(giftNameLabel, nameParams); -// -// // 调整视图层级 -// bringChildToFront(giftPriceBgView); -// bringChildToFront(giftCoin); -// } -// -// public void setIsLockGift(boolean isLockGift) { -// this.isLockGift = isLockGift; -// -// // 设置背景图片 -// int bgResource = isLockGift ? -// R.drawable.ac_lock_gift_bg : R.drawable.ac_meet_gift_name_bg; -// bgImageView.setImageResource(bgResource); -// -// // 显示/隐藏光效背景 -// giftBgImageView.setVisibility(isLockGift ? View.VISIBLE : View.GONE); -// -// if (isLockGift) { -// // 重新设置礼物图片的约束 -// LayoutParams params = (LayoutParams) giftImageView.getLayoutParams(); -// params.width = scaleWidth(62); -// params.height = scaleWidth(62); -// params.addRule(CENTER_IN_PARENT); -// params.setMargins(0, 0, 0, 0); -// giftImageView.setLayoutParams(params); -// } else { -// // 恢复原始约束 -// LayoutParams params = (LayoutParams) giftImageView.getLayoutParams(); -// params.width = LayoutParams.MATCH_PARENT; -// params.height = LayoutParams.WRAP_CONTENT; -// params.addRule(CENTER_IN_PARENT); -// params.setMargins(dpToPx(6), dpToPx(6), dpToPx(6), 0); -// giftImageView.setLayoutParams(params); -// } -// } -// -// public void setModel(Object model) { -// this.model = model; -// // 这里需要根据您的 QXDrawGiftModel 类来实现具体逻辑 -// /* -// if (model instanceof QXDrawGiftModel) { -// QXDrawGiftModel giftModel = (QXDrawGiftModel) model; -// -// // 使用图片加载库加载图片 -// // Glide.with(getContext()).load(giftModel.getBaseImage()).into(giftImageView); -// -// giftNameLabel.setText(giftModel.getGiftName()); -// giftCoin.setText(giftModel.getGiftPrice()); -// } -// */ -// } -// -// public void startAnimation() { -// // 礼物图片顺时针旋转动画 -// RotateAnimation rotateAnimation = new RotateAnimation( -// 0, 360, // 从 0 度旋转到 360 度 -// Animation.RELATIVE_TO_SELF, 0.5f, -// Animation.RELATIVE_TO_SELF, 0.5f -// ); -// rotateAnimation.setDuration(3000); // 3 秒 -// rotateAnimation.setRepeatCount(Animation.INFINITE); -// rotateAnimation.setRepeatMode(Animation.RESTART); -// rotateAnimation.setInterpolator(getContext(), android.R.anim.linear_interpolator); -// giftImageView.startAnimation(rotateAnimation); -// -// // 光效背景逆时针旋转动画 -// RotateAnimation rotateAnimation1 = new RotateAnimation( -// 0, -360, // 从 0 度旋转到 -360 度 -// Animation.RELATIVE_TO_SELF, 0.5f, -// Animation.RELATIVE_TO_SELF, 0.5f -// ); -// rotateAnimation1.setDuration(3000); // 3 秒 -// rotateAnimation1.setRepeatCount(Animation.INFINITE); -// rotateAnimation1.setRepeatMode(Animation.RESTART); -// rotateAnimation1.setInterpolator(getContext(), android.R.anim.linear_interpolator); -// giftBgImageView.startAnimation(rotateAnimation1); -// } -// -// public void resetAnimation() { -// giftImageView.clearAnimation(); -// giftBgImageView.clearAnimation(); -// } -// -// public void stopAnimation() { -// giftImageView.clearAnimation(); -// giftBgImageView.clearAnimation(); -// } -// -// // 辅助方法:dp 转 px -// private int dpToPx(int dp) { -// float density = getResources().getDisplayMetrics().density; -// return Math.round(dp * density); -// } -// -// // 缩放宽度方法(对应 ScaleWidth) -// private int scaleWidth(int value) { -// // 这里需要根据您的缩放逻辑实现 -// // 通常可以根据屏幕密度进行缩放 -// float scale = getResources().getDisplayMetrics().density; -// return (int) (value * scale); -// } -// -// // Getter 方法 -// public TextView getGiftNameLabel() { -// return giftNameLabel; -// } -// -// public ImageView getGiftPriceBgView() { -// return giftPriceBgView; -// } -// -// public Button getGiftCoin() { -// return giftCoin; -// } -// -// public ImageView getBgImageView() { -// return bgImageView; -// } -// -// public ImageView getGiftBgImageView() { -// return giftBgImageView; -// } -// -// public ImageView getGiftImageView() { -// return giftImageView; -// } -// -// public boolean isLockGift() { -// return isLockGift; -// } -// -// public Object getModel() { -// return model; -// } -//} \ No newline at end of file diff --git a/moduleroom/src/main/res/layout/activity_room.xml b/moduleroom/src/main/res/layout/activity_room.xml index 43b7d1a..61a6c40 100644 --- a/moduleroom/src/main/res/layout/activity_room.xml +++ b/moduleroom/src/main/res/layout/activity_room.xml @@ -483,6 +483,9 @@ app:layout_constraintEnd_toEndOf="parent" tools:visibility="visible" /> + + +