add package

This commit is contained in:
huangjian
2023-02-27 18:22:58 +08:00
parent 7385cfc2f1
commit ec1507ed31
35 changed files with 155 additions and 178 deletions

View File

@@ -1,74 +0,0 @@
package com.mango.moshen.treasurefairy;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.drawable.Drawable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
class CustomDrawable extends Drawable {
private final Paint srcPaint;
private final Drawable innerDrawable;
/**
* 使用时需要自定义path
*/
private Path srcPath = new Path();
private final PorterDuffXfermode xFermode =new PorterDuffXfermode(PorterDuff.Mode.CLEAR);
public CustomDrawable(Drawable innerDrawable) {
this.innerDrawable = innerDrawable;
// path默认实现
srcPath.addRect(100, 100, 200, 200, Path.Direction.CW);
srcPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
srcPaint.setColor(0xffffffff);
}
/**
* 设置内部透明的部分
*/
public void setSrcPath(Path srcPath) {
this.srcPath = srcPath;
}
@Override
public void draw(@NonNull Canvas canvas) {
innerDrawable.setBounds(getBounds());
if (srcPath == null || srcPath.isEmpty()) {
innerDrawable.draw(canvas);
} else {
// 将绘制操作保存到新的图层
int saveCount = canvas.saveLayer(0, 0, getBounds().width(), getBounds().height(), srcPaint,
Canvas.ALL_SAVE_FLAG);
// 绘制目标图
innerDrawable.draw(canvas);
// 设置混合模式
srcPaint.setXfermode(xFermode);
// src 绘制源图
canvas.drawPath(srcPath, srcPaint);
// 清除混合模式
srcPaint.setXfermode(null);
// 还原画布
canvas.restoreToCount(saveCount);
}
}
@Override
public void setAlpha(int alpha) {
innerDrawable.setAlpha(alpha);
}
@Override
public void setColorFilter(@Nullable ColorFilter colorFilter) {
innerDrawable.setColorFilter(colorFilter);
}
@Override
public int getOpacity() {
return innerDrawable.getOpacity();
}
}

View File

@@ -4,7 +4,6 @@ import android.animation.ObjectAnimator
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.Color
import android.graphics.Path import android.graphics.Path
import android.text.style.ForegroundColorSpan import android.text.style.ForegroundColorSpan
import android.view.* import android.view.*
@@ -15,11 +14,15 @@ import androidx.core.content.ContextCompat
import androidx.core.graphics.toColorInt import androidx.core.graphics.toColorInt
import com.mango.core.UriProvider import com.mango.core.UriProvider
import com.mango.core.treasurefairy.PrizeInfo import com.mango.core.treasurefairy.PrizeInfo
import com.mango.core.utils.LogUtils
import com.mango.moshen.R import com.mango.moshen.R
import com.mango.moshen.base.BaseViewBindingActivity import com.mango.moshen.base.BaseViewBindingActivity
import com.mango.moshen.common.widget.dialog.DialogManager import com.mango.moshen.common.widget.dialog.DialogManager
import com.mango.moshen.databinding.TreasureFairyDialogHomeBinding import com.mango.moshen.databinding.TreasureFairyDialogHomeBinding
import com.mango.moshen.treasurefairy.dialog.ForestFairyDialog
import com.mango.moshen.treasurefairy.dialog.HomeMorePopupWindow
import com.mango.moshen.treasurefairy.dialog.HomePrizeDialog
import com.mango.moshen.treasurefairy.dialog.MyFairyDialog
import com.mango.moshen.treasurefairy.view.CustomDrawable
import com.mango.moshen.ui.webview.FairyDialogWebViewActivity import com.mango.moshen.ui.webview.FairyDialogWebViewActivity
import com.mango.moshen.utils.SpannableBuilder import com.mango.moshen.utils.SpannableBuilder
import com.netease.nim.uikit.common.util.sys.ScreenUtil import com.netease.nim.uikit.common.util.sys.ScreenUtil
@@ -143,12 +146,13 @@ class HomeFairyActivity : BaseViewBindingActivity<TreasureFairyDialogHomeBinding
.append(" 后下次夺宝,额外获赠精灵球", ForegroundColorSpan("#59FDFF".toColorInt())) .append(" 后下次夺宝,额外获赠精灵球", ForegroundColorSpan("#59FDFF".toColorInt()))
.build() .build()
binding.ivLuckyStone.post { binding.ivLuckyStone.post {
val drawable = CustomDrawable( val drawable =
ContextCompat.getDrawable( CustomDrawable(
this, ContextCompat.getDrawable(
R.drawable.treasure_fairy_ic_lucky_stone this,
R.drawable.treasure_fairy_ic_lucky_stone
)!!
) )
)
val path = Path() val path = Path()
path.addRect( path.addRect(
0f, 0f,

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy; package com.mango.moshen.treasurefairy.adapter;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import android.widget.ImageView import android.widget.ImageView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import android.widget.ImageView import android.widget.ImageView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.BaseViewHolder import com.chad.library.adapter.base.BaseViewHolder

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import android.widget.ImageView import android.widget.ImageView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import android.widget.ImageView import android.widget.ImageView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import android.widget.ImageView import android.widget.ImageView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import android.widget.ImageView import android.widget.ImageView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter

View File

@@ -1,8 +1,7 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.BaseViewHolder import com.chad.library.adapter.base.BaseViewHolder
import com.mango.core.treasurefairy.PrizeInfo
import com.mango.core.treasurefairy.TestFairyRecordInfo import com.mango.core.treasurefairy.TestFairyRecordInfo
import com.mango.moshen.R import com.mango.moshen.R
import java.text.SimpleDateFormat import java.text.SimpleDateFormat

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.adapter
import android.widget.ImageView import android.widget.ImageView
import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseQuickAdapter

View File

@@ -1,16 +1,16 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.Gravity import android.view.Gravity
import android.view.WindowManager import android.view.WindowManager
import androidx.core.view.isInvisible import androidx.core.view.isInvisible
import androidx.core.view.isVisible
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.mango.core.utils.subAndReplaceDot import com.mango.core.utils.subAndReplaceDot
import com.mango.moshen.R import com.mango.moshen.R
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogForestBinding import com.mango.moshen.databinding.TreasureFairyDialogForestBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.ui.utils.loadAvatar import com.mango.moshen.ui.utils.loadAvatar
class ForestFairyDialog : BaseDialog<TreasureFairyDialogForestBinding>() { class ForestFairyDialog : BaseDialog<TreasureFairyDialogForestBinding>() {

View File

@@ -1,10 +1,9 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.Gravity import android.view.Gravity
import android.view.WindowManager import android.view.WindowManager
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.updateLayoutParams import androidx.core.view.updateLayoutParams
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
@@ -13,6 +12,8 @@ import com.mango.core.treasurefairy.PrizeInfo
import com.mango.moshen.R import com.mango.moshen.R
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogForestPrizeBinding import com.mango.moshen.databinding.TreasureFairyDialogForestPrizeBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.ForestPrizeAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
import com.netease.nim.uikit.common.util.sys.ScreenUtil import com.netease.nim.uikit.common.util.sys.ScreenUtil

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -9,6 +9,8 @@ import com.mango.moshen.R
import com.mango.moshen.avroom.adapter.RoomVPAdapter import com.mango.moshen.avroom.adapter.RoomVPAdapter
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogForestRecordBinding import com.mango.moshen.databinding.TreasureFairyDialogForestRecordBinding
import com.mango.moshen.treasurefairy.fragment.ForestPrizesFragment
import com.mango.moshen.treasurefairy.fragment.ForestRecordFragment
class ForestRecordDialog : BaseDialog<TreasureFairyDialogForestRecordBinding>() { class ForestRecordDialog : BaseDialog<TreasureFairyDialogForestRecordBinding>() {

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.content.Context import android.content.Context
import android.graphics.Color import android.graphics.Color

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -7,11 +7,11 @@ import android.view.WindowManager
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.room.game.GameInfo
import com.mango.core.treasurefairy.PrizeInfo import com.mango.core.treasurefairy.PrizeInfo
import com.mango.moshen.R
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogHomePrizeBinding import com.mango.moshen.databinding.TreasureFairyDialogHomePrizeBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.HomePrizeAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
class HomePrizeDialog : BaseDialog<TreasureFairyDialogHomePrizeBinding>() { class HomePrizeDialog : BaseDialog<TreasureFairyDialogHomePrizeBinding>() {

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -6,13 +6,13 @@ import android.view.Gravity
import android.view.WindowManager import android.view.WindowManager
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.mango.core.room.game.GameInfo
import com.mango.moshen.R import com.mango.moshen.R
import com.mango.moshen.avroom.adapter.RoomVPAdapter import com.mango.moshen.avroom.adapter.RoomVPAdapter
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogMyFairyBinding import com.mango.moshen.databinding.TreasureFairyDialogMyFairyBinding
import com.mango.moshen.home.adapter.FragmentViewPagerAdapter import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.treasurefairy.fragment.MyFairyFragment
import com.mango.moshen.treasurefairy.view.MyFairyItemView
class MyFairyDialog : BaseDialog<TreasureFairyDialogMyFairyBinding>() { class MyFairyDialog : BaseDialog<TreasureFairyDialogMyFairyBinding>() {

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -6,10 +6,11 @@ import android.view.Gravity
import android.view.WindowManager import android.view.WindowManager
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.treasurefairy.FairyInfo
import com.mango.core.treasurefairy.SendFairyInfo import com.mango.core.treasurefairy.SendFairyInfo
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogMyFairyRecordBinding import com.mango.moshen.databinding.TreasureFairyDialogMyFairyRecordBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.MyFairyRecordAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
class MyFairyRecordDialog : BaseDialog<TreasureFairyDialogMyFairyRecordBinding>() { class MyFairyRecordDialog : BaseDialog<TreasureFairyDialogMyFairyRecordBinding>() {

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -11,6 +11,8 @@ import com.mango.core.gift.bean.SimpleUserInfo
import com.mango.core.treasurefairy.FairyInfo import com.mango.core.treasurefairy.FairyInfo
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogMyFairySearchFriendBinding import com.mango.moshen.databinding.TreasureFairyDialogMyFairySearchFriendBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.MyFairyFriendsAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
class MyFairySearchFriendsDialog : BaseDialog<TreasureFairyDialogMyFairySearchFriendBinding>() { class MyFairySearchFriendsDialog : BaseDialog<TreasureFairyDialogMyFairySearchFriendBinding>() {

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.graphics.Color import android.graphics.Color
@@ -8,12 +8,11 @@ import android.view.Gravity
import android.view.WindowManager import android.view.WindowManager
import androidx.core.graphics.toColorInt import androidx.core.graphics.toColorInt
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.gift.bean.SimpleUserInfo import com.mango.core.gift.bean.SimpleUserInfo
import com.mango.core.treasurefairy.FairyInfo import com.mango.core.treasurefairy.FairyInfo
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogMyFairySendBinding import com.mango.moshen.databinding.TreasureFairyDialogMyFairySendBinding
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.ui.utils.load import com.mango.moshen.ui.utils.load
import com.mango.moshen.utils.SpannableBuilder import com.mango.moshen.utils.SpannableBuilder

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -10,6 +10,9 @@ import com.mango.moshen.R
import com.mango.moshen.avroom.adapter.RoomVPAdapter import com.mango.moshen.avroom.adapter.RoomVPAdapter
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogTestFairyBinding import com.mango.moshen.databinding.TreasureFairyDialogTestFairyBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.view.MyFairyItemView
import com.mango.moshen.treasurefairy.fragment.TestFairyFragment
class TestFairyDialog : BaseDialog<TreasureFairyDialogTestFairyBinding>() { class TestFairyDialog : BaseDialog<TreasureFairyDialogTestFairyBinding>() {

View File

@@ -1,14 +1,14 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.treasurefairy.PrizeInfo
import com.mango.core.treasurefairy.TestFairyRecordInfo import com.mango.core.treasurefairy.TestFairyRecordInfo
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogTestFairyRecordBinding import com.mango.moshen.databinding.TreasureFairyDialogTestFairyRecordBinding
import com.mango.moshen.databinding.TreasureFairyFragmentForestRecordBinding import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.TestFairyRecordAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
import com.netease.nim.uikit.common.util.sys.ScreenUtil import com.netease.nim.uikit.common.util.sys.ScreenUtil

View File

@@ -1,22 +1,17 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.Gravity import android.view.Gravity
import android.view.WindowManager import android.view.WindowManager
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.treasurefairy.FairyInfo import com.mango.core.treasurefairy.FairyInfo
import com.mango.core.treasurefairy.PrizeInfo
import com.mango.moshen.R
import com.mango.moshen.base.BaseDialog import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.TreasureFairyDialogForestPrizeBinding
import com.mango.moshen.databinding.TreasureFairyDialogTestFairyResultBinding import com.mango.moshen.databinding.TreasureFairyDialogTestFairyResultBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.TestFairyResultAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
import com.netease.nim.uikit.common.util.sys.ScreenUtil
class TestFairyResultDialog : BaseDialog<TreasureFairyDialogTestFairyResultBinding>() { class TestFairyResultDialog : BaseDialog<TreasureFairyDialogTestFairyResultBinding>() {

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.fragment
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -8,6 +8,8 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.treasurefairy.PrizeInfo import com.mango.core.treasurefairy.PrizeInfo
import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.base.BaseViewBindingFragment
import com.mango.moshen.databinding.TreasureFairyFragmentForestPrizesChildBinding import com.mango.moshen.databinding.TreasureFairyFragmentForestPrizesChildBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.ForestPrizesChildAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
class ForestPrizesChildFragment : class ForestPrizesChildFragment :

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.fragment
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -8,8 +8,7 @@ import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.base.BaseViewBindingFragment
import com.mango.moshen.databinding.TreasureFairyFragmentForestPrizesBinding import com.mango.moshen.databinding.TreasureFairyFragmentForestPrizesBinding
import com.mango.moshen.ui.user.UserInfoGiftFragment import com.mango.moshen.treasurefairy.adapter.ForestIndicatorAdapter
import com.mango.moshen.ui.user.adapter.UserInfoIndicatorAdapter
import com.mango.moshen.ui.user.adapter.UserInfoPagerAdapter import com.mango.moshen.ui.user.adapter.UserInfoPagerAdapter
import com.mango.moshen.ui.widget.magicindicator.MagicIndicator import com.mango.moshen.ui.widget.magicindicator.MagicIndicator
import com.mango.moshen.ui.widget.magicindicator.ViewPagerHelper import com.mango.moshen.ui.widget.magicindicator.ViewPagerHelper

View File

@@ -1,13 +1,14 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.fragment
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.treasurefairy.PrizeInfo import com.mango.core.treasurefairy.PrizeInfo
import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.base.BaseViewBindingFragment
import com.mango.moshen.databinding.TreasureFairyFragmentForestRecordBinding import com.mango.moshen.databinding.TreasureFairyFragmentForestRecordBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.adapter.ForestPrizesRecordAdapter
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
class ForestRecordFragment : BaseViewBindingFragment<TreasureFairyFragmentForestRecordBinding>() { class ForestRecordFragment : BaseViewBindingFragment<TreasureFairyFragmentForestRecordBinding>() {

View File

@@ -1,19 +1,14 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.fragment
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.Gravity
import android.view.WindowManager
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.mango.core.room.game.GameInfo
import com.mango.core.treasurefairy.FairyInfo
import com.mango.moshen.R import com.mango.moshen.R
import com.mango.moshen.base.BaseDialog
import com.mango.moshen.base.BaseFragment
import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.base.BaseViewBindingFragment
import com.mango.moshen.databinding.TreasureFairyDialogMyFairyBinding
import com.mango.moshen.databinding.TreasureFairyFragmentMyFairyBinding import com.mango.moshen.databinding.TreasureFairyFragmentMyFairyBinding
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.view.MyFairyItemView
import com.mango.moshen.treasurefairy.dialog.MyFairySearchFriendsDialog
class MyFairyFragment : BaseViewBindingFragment<TreasureFairyFragmentMyFairyBinding>() { class MyFairyFragment : BaseViewBindingFragment<TreasureFairyFragmentMyFairyBinding>() {

View File

@@ -1,24 +1,17 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.fragment
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.Gravity
import android.view.WindowManager
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.mango.core.gift.bean.SimpleUserInfo
import com.mango.core.room.game.GameInfo
import com.mango.core.treasurefairy.FairyInfo import com.mango.core.treasurefairy.FairyInfo
import com.mango.core.treasurefairy.SendFairyInfo
import com.mango.core.utils.toast
import com.mango.moshen.R
import com.mango.moshen.base.BaseDialog
import com.mango.moshen.base.BaseFragment
import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.base.BaseViewBindingFragment
import com.mango.moshen.databinding.TreasureFairyDialogMyFairyBinding
import com.mango.moshen.databinding.TreasureFairyFragmentMyFairyBinding
import com.mango.moshen.databinding.TreasureFairyFragmentTestFairyBinding import com.mango.moshen.databinding.TreasureFairyFragmentTestFairyBinding
import com.mango.moshen.treasurefairy.FairyViewModel
import com.mango.moshen.treasurefairy.view.MyFairyItemView
import com.mango.moshen.treasurefairy.adapter.TestFairyAdapter
import com.mango.moshen.treasurefairy.dialog.TestFairyResultDialog
import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.RVDelegate
import com.mango.moshen.ui.utils.load import com.mango.moshen.ui.utils.load

View File

@@ -0,0 +1,63 @@
package com.mango.moshen.treasurefairy.view
import android.graphics.*
import android.graphics.drawable.Drawable
class CustomDrawable(private val innerDrawable: Drawable) : Drawable() {
private val srcPaint: Paint
/**
* 使用时需要自定义path
*/
private var srcPath: Path = Path()
private val xFermode = PorterDuffXfermode(PorterDuff.Mode.CLEAR)
/**
* 设置内部透明的部分
*/
fun setSrcPath(srcPath: Path) {
this.srcPath = srcPath
}
override fun draw(canvas: Canvas) {
innerDrawable.bounds = bounds
if (srcPath.isEmpty) {
innerDrawable.draw(canvas)
} else {
// 将绘制操作保存到新的图层
val saveCount = canvas.saveLayer(
0f, 0f, bounds.width().toFloat(), bounds.height().toFloat(), srcPaint,
Canvas.ALL_SAVE_FLAG
)
// 绘制目标图
innerDrawable.draw(canvas)
// 设置混合模式
srcPaint.xfermode = xFermode
// src 绘制源图
canvas.drawPath(srcPath, srcPaint)
// 清除混合模式
srcPaint.xfermode = null
// 还原画布
canvas.restoreToCount(saveCount)
}
}
override fun setAlpha(alpha: Int) {
innerDrawable.alpha = alpha
}
override fun setColorFilter(colorFilter: ColorFilter?) {
innerDrawable.colorFilter = colorFilter
}
override fun getOpacity(): Int {
return innerDrawable.opacity
}
init {
// path默认实现
srcPath.addRect(100f, 100f, 200f, 200f, Path.Direction.CW)
srcPaint = Paint(Paint.ANTI_ALIAS_FLAG)
srcPaint.color = -0x1
}
}

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.view
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet

View File

@@ -1,4 +1,4 @@
package com.mango.moshen.treasurefairy package com.mango.moshen.treasurefairy.view
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context

View File

@@ -10,21 +10,13 @@ import com.mango.core.auth.AuthModel;
import com.mango.core.gift.bean.SimpleUserInfo; import com.mango.core.gift.bean.SimpleUserInfo;
import com.mango.core.im.custom.bean.CustomAttachment; import com.mango.core.im.custom.bean.CustomAttachment;
import com.mango.core.im.custom.bean.FairySendAttachment; import com.mango.core.im.custom.bean.FairySendAttachment;
import com.mango.core.im.custom.bean.NewbieHelloAttachment;
import com.mango.core.room.bean.RoomInfo;
import com.mango.core.room.model.AvRoomModel;
import com.mango.core.treasurefairy.FairyInfo; import com.mango.core.treasurefairy.FairyInfo;
import com.mango.core.utils.net.RxHelper;
import com.mango.moshen.R; import com.mango.moshen.R;
import com.mango.moshen.avroom.activity.AVRoomActivity; import com.mango.moshen.treasurefairy.dialog.MyFairySendDialog;
import com.mango.moshen.treasurefairy.MyFairySendDialog;
import com.mango.moshen.ui.utils.ImageLoadUtils; import com.mango.moshen.ui.utils.ImageLoadUtils;
import com.mango.xchat_android_library.utils.SingleToastUtil;
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase; import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import io.reactivex.functions.BiConsumer;
/** /**
* Created by chenran on 2018/1/2. * Created by chenran on 2018/1/2.
*/ */

View File

@@ -71,7 +71,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_title" /> app:layout_constraintTop_toBottomOf="@id/iv_title" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_0" android:id="@+id/fairy_item_0"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -83,7 +83,7 @@
app:layout_constraintTop_toBottomOf="@id/iv_more" app:layout_constraintTop_toBottomOf="@id/iv_more"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_1" android:id="@+id/fairy_item_1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -93,7 +93,7 @@
app:layout_constraintTop_toTopOf="@id/fairy_item_0" app:layout_constraintTop_toTopOf="@id/fairy_item_0"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_2" android:id="@+id/fairy_item_2"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -103,7 +103,7 @@
app:layout_constraintTop_toTopOf="@id/fairy_item_0" app:layout_constraintTop_toTopOf="@id/fairy_item_0"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_3" android:id="@+id/fairy_item_3"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -113,7 +113,7 @@
app:layout_constraintTop_toTopOf="@id/fairy_item_0" app:layout_constraintTop_toTopOf="@id/fairy_item_0"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_4" android:id="@+id/fairy_item_4"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -123,7 +123,7 @@
app:layout_constraintTop_toBottomOf="@id/fairy_item_3" app:layout_constraintTop_toBottomOf="@id/fairy_item_3"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_5" android:id="@+id/fairy_item_5"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -133,7 +133,7 @@
app:layout_constraintTop_toBottomOf="@id/fairy_item_4" app:layout_constraintTop_toBottomOf="@id/fairy_item_4"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_6" android:id="@+id/fairy_item_6"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -143,7 +143,7 @@
app:layout_constraintTop_toBottomOf="@id/fairy_item_5" app:layout_constraintTop_toBottomOf="@id/fairy_item_5"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_7" android:id="@+id/fairy_item_7"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -152,7 +152,7 @@
app:layout_constraintTop_toTopOf="@id/fairy_item_6" app:layout_constraintTop_toTopOf="@id/fairy_item_6"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_8" android:id="@+id/fairy_item_8"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -161,7 +161,7 @@
app:layout_constraintTop_toTopOf="@id/fairy_item_7" app:layout_constraintTop_toTopOf="@id/fairy_item_7"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_9" android:id="@+id/fairy_item_9"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -170,7 +170,7 @@
app:layout_constraintTop_toTopOf="@id/fairy_item_8" app:layout_constraintTop_toTopOf="@id/fairy_item_8"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_10" android:id="@+id/fairy_item_10"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@@ -179,7 +179,7 @@
app:layout_constraintTop_toTopOf="@id/fairy_item_5" app:layout_constraintTop_toTopOf="@id/fairy_item_5"
app:layout_constraintWidth_percent="0.2" /> app:layout_constraintWidth_percent="0.2" />
<com.mango.moshen.treasurefairy.HomeItemView <com.mango.moshen.treasurefairy.view.HomeItemView
android:id="@+id/fairy_item_11" android:id="@+id/fairy_item_11"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"

View File

@@ -7,7 +7,7 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.mango.moshen.treasurefairy.MyFairyItemView <com.mango.moshen.treasurefairy.view.MyFairyItemView
android:id="@+id/fairy_item_0" android:id="@+id/fairy_item_0"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -16,7 +16,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<com.mango.moshen.treasurefairy.MyFairyItemView <com.mango.moshen.treasurefairy.view.MyFairyItemView
android:id="@+id/fairy_item_1" android:id="@+id/fairy_item_1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -24,7 +24,7 @@
app:layout_constraintStart_toEndOf="@id/fairy_item_0" app:layout_constraintStart_toEndOf="@id/fairy_item_0"
app:layout_constraintTop_toTopOf="@id/fairy_item_0" /> app:layout_constraintTop_toTopOf="@id/fairy_item_0" />
<com.mango.moshen.treasurefairy.MyFairyItemView <com.mango.moshen.treasurefairy.view.MyFairyItemView
android:id="@+id/fairy_item_2" android:id="@+id/fairy_item_2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -32,7 +32,7 @@
app:layout_constraintStart_toEndOf="@id/fairy_item_1" app:layout_constraintStart_toEndOf="@id/fairy_item_1"
app:layout_constraintTop_toTopOf="@id/fairy_item_0" /> app:layout_constraintTop_toTopOf="@id/fairy_item_0" />
<com.mango.moshen.treasurefairy.MyFairyItemView <com.mango.moshen.treasurefairy.view.MyFairyItemView
android:id="@+id/fairy_item_3" android:id="@+id/fairy_item_3"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -41,7 +41,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fairy_item_0" /> app:layout_constraintTop_toBottomOf="@id/fairy_item_0" />
<com.mango.moshen.treasurefairy.MyFairyItemView <com.mango.moshen.treasurefairy.view.MyFairyItemView
android:id="@+id/fairy_item_4" android:id="@+id/fairy_item_4"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"