夺宝精灵:主页更多按钮
This commit is contained in:
@@ -1124,7 +1124,7 @@
|
||||
android:theme="@style/dialog_web_view_activity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".ui.webview.ElfDialogWebViewActivity"
|
||||
android:name=".ui.webview.FairyDialogWebViewActivity"
|
||||
android:theme="@style/dialog_web_view_activity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
@@ -1289,6 +1289,10 @@
|
||||
android:name=".ui.im.avtivity.SayHelloListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".treasurefairy.HomeDialog"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
@@ -15,7 +15,7 @@ import com.mango.moshen.R;
|
||||
import com.mango.moshen.databinding.DialogRoomPlayBinding;
|
||||
import com.mango.moshen.shipantics.PullRadishActivity;
|
||||
import com.mango.moshen.treasure_box.widget.GoldBoxHelper;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.mango.moshen.treasurefairy.HomeDialog;
|
||||
|
||||
|
||||
/**
|
||||
@@ -53,6 +53,7 @@ public class RoomPlayDialog extends BottomSheetDialog {
|
||||
private void init() {
|
||||
binding.llRadish.setVisibility(GoldBoxHelper.isShowRadish() ? View.VISIBLE : View.GONE);
|
||||
binding.llRadish.setOnClickListener(v -> PullRadishActivity.start(context));
|
||||
binding.llFairy.setOnClickListener(v -> HomeDialog.start(context));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -55,7 +55,6 @@ import com.mango.moshen.home.helper.OpenRoomHelper
|
||||
import com.mango.moshen.module_hall.HallDataManager
|
||||
import com.mango.moshen.skill.activity.SkillHomeActivity
|
||||
import com.mango.moshen.skill.activity.SkillHomeActivity.Companion.start
|
||||
import com.mango.moshen.treasurefairy.HomeDialog
|
||||
import com.mango.moshen.ui.patriarch.PatriarchModeActivity
|
||||
import com.mango.moshen.ui.pay.ChargeActivity
|
||||
import com.mango.moshen.ui.relation.AttentionListActivity
|
||||
@@ -519,10 +518,6 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
)
|
||||
R.id.me_item_setting -> UIHelper.showSettingAct(mContext)
|
||||
R.id.me_item_vip -> {
|
||||
if (BuildConfig.DEBUG) {
|
||||
HomeDialog().show(mContext)
|
||||
return
|
||||
}
|
||||
VipMainActivity.start(mContext)
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_VIP_ENTRANCE_ME_CLICK, "贵族我的入口点击事件")
|
||||
|
@@ -2,18 +2,22 @@ package com.mango.moshen.treasurefairy
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Path
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.activity.viewModels
|
||||
import com.mango.core.UriProvider
|
||||
import com.mango.core.treasurefairy.PrizeInfo
|
||||
import com.mango.moshen.R
|
||||
import com.mango.moshen.base.BaseDialog
|
||||
import com.mango.moshen.base.BaseViewBindingActivity
|
||||
import com.mango.moshen.common.widget.dialog.DialogManager
|
||||
import com.mango.moshen.databinding.TreasureFairyDialogHomeBinding
|
||||
import com.mango.moshen.ui.webview.ElfDialogWebViewActivity
|
||||
import com.mango.moshen.ui.webview.FairyDialogWebViewActivity
|
||||
import com.netease.nim.uikit.common.ui.dialog.CustomPopupWindow
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
@@ -21,17 +25,23 @@ import io.reactivex.disposables.Disposable
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
|
||||
class HomeDialog : BaseDialog<TreasureFairyDialogHomeBinding>() {
|
||||
class HomeDialog : BaseViewBindingActivity<TreasureFairyDialogHomeBinding>() {
|
||||
private var selectIndex = 0
|
||||
private var targetIndex: Int = -1
|
||||
private val removeRunnable = Runnable { binding.llPrizeHint.removeAllViews() }
|
||||
private val hintPrizeCacheList = ArrayList<PrizeInfo>()
|
||||
|
||||
override var width = WindowManager.LayoutParams.MATCH_PARENT
|
||||
override var gravity = Gravity.BOTTOM
|
||||
|
||||
private var disposable: Disposable? = null
|
||||
private val viewModel: FairyViewModel by activityViewModels()
|
||||
private val viewModel: FairyViewModel by viewModels()
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun start(context: Context) {
|
||||
val starter = Intent(context, HomeDialog::class.java)
|
||||
context.startActivity(starter)
|
||||
}
|
||||
}
|
||||
|
||||
private val fairyItems by lazy {
|
||||
listOf(
|
||||
@@ -41,11 +51,22 @@ class HomeDialog : BaseDialog<TreasureFairyDialogHomeBinding>() {
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
||||
super.onCreate(savedInstanceState)
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun init() {
|
||||
//这里的height用MATCH_PARENT状态栏会被顶上去,不知道什么鬼
|
||||
window.setLayout(
|
||||
WindowManager.LayoutParams.MATCH_PARENT,
|
||||
ScreenUtil.screenHeight - ScreenUtil.getStatusBarHeight(context)
|
||||
)
|
||||
window.setGravity(Gravity.BOTTOM)
|
||||
looperHintPrize()
|
||||
binding.tvKeyNum.setOnClickListener {
|
||||
ElfDialogWebViewActivity.start(context, UriProvider.getFairyKey())
|
||||
FairyDialogWebViewActivity.start(context, UriProvider.getFairyKey())
|
||||
}
|
||||
binding.ivMyFairy.setOnClickListener {
|
||||
MyFairyDialog.newInstance().show(context)
|
||||
@@ -62,6 +83,24 @@ class HomeDialog : BaseDialog<TreasureFairyDialogHomeBinding>() {
|
||||
rotatePrize()
|
||||
viewModel.drawFairy(100)
|
||||
}
|
||||
binding.rootView.setOnClickListener { finish() }
|
||||
binding.viewBg.setOnClickListener {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
binding.ivMore.setOnClickListener {
|
||||
val popupWindow = CustomPopupWindow(context, LinearLayout.VERTICAL)
|
||||
popupWindow.addItem("规则说明") {
|
||||
FairyDialogWebViewActivity.start(context, UriProvider.getFairyRule())
|
||||
}
|
||||
popupWindow.addItem("获奖记录") {
|
||||
FairyDialogWebViewActivity.start(context, UriProvider.getFairyRecord())
|
||||
}
|
||||
popupWindow.addItem("夺宝达人") {
|
||||
FairyDialogWebViewActivity.start(context, UriProvider.getFairySuperior())
|
||||
}
|
||||
popupWindow.show(binding.ivMore, Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL)
|
||||
}
|
||||
|
||||
binding.viewPrizeClick.setOnClickListener {
|
||||
if (disposable?.isDisposed == false && targetIndex != -1) {
|
||||
@@ -74,7 +113,7 @@ class HomeDialog : BaseDialog<TreasureFairyDialogHomeBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.resultLiveData.observe(viewLifecycleOwner) { event ->
|
||||
viewModel.resultLiveData.observe(this) { event ->
|
||||
event?.getContentIfNotHandled()?.let {
|
||||
targetIndex = viewModel.prizeInfoListLiveData.value?.indexOf(it[0]) ?: -1
|
||||
hintPrizeCacheList.addAll(it.filter { prizeInfo -> prizeInfo.rewardLevel >= 3 })
|
||||
@@ -84,13 +123,13 @@ class HomeDialog : BaseDialog<TreasureFairyDialogHomeBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.prizeInfoListLiveData.observe(viewLifecycleOwner) {
|
||||
viewModel.prizeInfoListLiveData.observe(this) {
|
||||
it?.forEachIndexed { index, prizeInfo ->
|
||||
fairyItems[index].setPrizeInfo(prizeInfo)
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.drawInfoLiveData.observe(viewLifecycleOwner) {
|
||||
viewModel.drawInfoLiveData.observe(this) {
|
||||
it?.let {
|
||||
binding.tvKeyNum.text = it.drawTicketNum.toString()
|
||||
binding.tvCurrentLuckyValue.text = it.luckyNum.toString()
|
||||
@@ -112,10 +151,10 @@ class HomeDialog : BaseDialog<TreasureFairyDialogHomeBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.showGetKeyLiveData.observe(viewLifecycleOwner) {
|
||||
viewModel.showGetKeyLiveData.observe(this) {
|
||||
it.getContentIfNotHandled()?.let {
|
||||
DialogManager(context).showOkCancelDialog("购买限时装扮活动夺宝券", "去参与", "取消") {
|
||||
ElfDialogWebViewActivity.start(context, UriProvider.getFairyKey())
|
||||
FairyDialogWebViewActivity.start(context, UriProvider.getFairyKey())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -9,6 +9,7 @@ import android.os.CountDownTimer;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -1032,7 +1033,7 @@ public class MessageListPanelEx {
|
||||
CustomPopupWindow alertDialog = new CustomPopupWindow(container.activity, LinearLayout.HORIZONTAL);
|
||||
|
||||
prepareDialogItems(item, alertDialog);
|
||||
alertDialog.show(clickView, 0, ScreenUtil.dip2px(5));
|
||||
alertDialog.show(clickView, Gravity.TOP | Gravity.CENTER_HORIZONTAL);
|
||||
}
|
||||
|
||||
// 长按消息item的菜单项准备。如果消息item的MsgViewHolder处理长按事件(MsgViewHolderBase#onItemLongClick),且返回为true,
|
||||
|
@@ -3,6 +3,7 @@ package com.mango.moshen.ui.im.recent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -425,7 +426,7 @@ public class RecentContactsFragment extends TFragment {
|
||||
refreshMessages(false);
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_CHAT_LIST_TOP_CLICK,"聊天列表长按置顶聊天点击");
|
||||
});
|
||||
alertDialog.show(view, view.getMeasuredWidth() / 2, 0);
|
||||
alertDialog.show(view, Gravity.TOP | Gravity.CENTER_HORIZONTAL);
|
||||
}
|
||||
|
||||
private void addTag(RecentContact recent, long tag) {
|
||||
|
@@ -10,7 +10,7 @@ import com.mango.moshen.base.BaseActivity;
|
||||
import com.mango.moshen.ui.utils.ImageLoadKt;
|
||||
import com.mango.core.Env;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.moshen.ui.webview.ElfDialogWebViewActivity;
|
||||
import com.mango.moshen.ui.webview.FairyDialogWebViewActivity;
|
||||
|
||||
|
||||
/**
|
||||
@@ -29,7 +29,7 @@ public class LabActivity extends BaseActivity {
|
||||
);
|
||||
|
||||
findViewById(R.id.rb_flutter_test).setOnClickListener(v ->
|
||||
ElfDialogWebViewActivity.start(this, "http://192.168.9.200:5500/view/yinyou/modules/act-treasureSnatching/index.html")
|
||||
FairyDialogWebViewActivity.start(this, "http://192.168.9.200:5500/view/yinyou/modules/act-treasureSnatching/index.html")
|
||||
);
|
||||
|
||||
//根据ID找到RadioGroup实例
|
||||
|
@@ -10,11 +10,11 @@ import android.view.WindowManager;
|
||||
import com.mango.moshen.R;
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||
|
||||
public class ElfDialogWebViewActivity extends CommonWebViewActivity {
|
||||
public class FairyDialogWebViewActivity extends CommonWebViewActivity {
|
||||
|
||||
|
||||
public static void start(Context context, String url) {
|
||||
Intent intent = new Intent(context, ElfDialogWebViewActivity.class);
|
||||
Intent intent = new Intent(context, FairyDialogWebViewActivity.class);
|
||||
intent.putExtra("url", url);
|
||||
context.startActivity(intent);
|
||||
}
|
@@ -33,6 +33,32 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_fairy"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="30dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_fairy"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:src="@drawable/ic_radish_entrance" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="7dp"
|
||||
android:text="夺宝精灵"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_radish"
|
||||
|
@@ -505,10 +505,31 @@ public class UriProvider {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取航海钥匙
|
||||
* 获取夺宝精灵钥匙
|
||||
*/
|
||||
public static String getFairyKey() {
|
||||
return JAVA_WEB_URL.concat("/yinyou/modules/act-treasureSnatching/index.html");
|
||||
return JAVA_WEB_URL.concat("yinyou/modules/act-treasureSnatching/index.html");
|
||||
}
|
||||
|
||||
/**
|
||||
* 夺宝精灵规则
|
||||
*/
|
||||
public static String getFairyRule() {
|
||||
return JAVA_WEB_URL.concat("yinyou/modules/act-treasureSnatching/rule.html");
|
||||
}
|
||||
|
||||
/**
|
||||
* 夺宝达人
|
||||
*/
|
||||
public static String getFairySuperior() {
|
||||
return JAVA_WEB_URL.concat("yinyou/modules/act-treasureSnatching/list.html");
|
||||
}
|
||||
|
||||
/**
|
||||
* 夺宝记录
|
||||
*/
|
||||
public static String getFairyRecord() {
|
||||
return JAVA_WEB_URL.concat("yinyou/modules/act-treasureSnatching/record.html");
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@ import android.net.Uri;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -992,7 +993,7 @@ public class MessageListPanelEx {
|
||||
private void onNormalLongClick(View clickView, IMMessage item) {
|
||||
CustomPopupWindow alertDialog = new CustomPopupWindow(container.activity, LinearLayout.HORIZONTAL);
|
||||
prepareDialogItems(item, alertDialog);
|
||||
alertDialog.show(clickView, 0, 0);
|
||||
alertDialog.show(clickView, Gravity.TOP | Gravity.CENTER_HORIZONTAL);
|
||||
}
|
||||
|
||||
// 长按消息item的菜单项准备。如果消息item的MsgViewHolder处理长按事件(MsgViewHolderBase#onItemLongClick),且返回为true,
|
||||
|
@@ -42,14 +42,14 @@ public class CustomPopupWindow extends BasePopupWindow {
|
||||
itemTextList.add(new Pair<>(itemText, listener));
|
||||
}
|
||||
|
||||
public void show(View anchor, int xoff, int yoff) {
|
||||
public void show(View anchor, int popupGravity) {
|
||||
for (Pair<String, View.OnClickListener> pair : itemTextList) {
|
||||
llRoot.addView(
|
||||
createTextView(pair.first, pair.second),
|
||||
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, ScreenUtil.dip2px(30))
|
||||
);
|
||||
}
|
||||
setPopupGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
|
||||
setPopupGravity(popupGravity);
|
||||
showPopupWindow(anchor);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user