diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt index 3bdd3e0..9bac521 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt @@ -3,10 +3,7 @@ package com.gamedog.vididin.main.fragments import android.view.LayoutInflater import android.view.ViewGroup import androidx.core.graphics.toColorInt -import androidx.core.view.ViewCompat -import androidx.core.view.WindowInsetsCompat import androidx.core.view.isVisible -import androidx.core.view.updatePadding import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks @@ -24,8 +21,7 @@ import com.ama.core.architecture.util.ResUtil import com.ama.core.architecture.util.ResUtil.dp import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.setStatusBarDarkFont -import com.ama.core.common.util.asSafe -import com.ama.core.common.widget.PopMenuIconView +import com.ama.core.common.widget.PopMenuView import com.gamedog.statisticreporter.StatisticUtil import com.gamedog.vididin.VidiConst import com.gamedog.vididin.VididinEvents @@ -36,7 +32,6 @@ import com.gamedog.vididin.main.WatchAdDialog import com.gamedog.vididin.main.fragments.home.HomeFragmentStateAdapter import com.gamedog.vididin.main.fragments.home.fragment.HomeItemFragment import com.gamedog.vididin.main.interfaces.OnSwitchTabListener -import com.gamedog.vididin.main.interfaces.OnTabStyleListener import com.gamedog.vididin.manager.TaskManager import com.gamedog.vididin.router.Router import com.gamedog.vididin.youtubestatistic.RewardConst @@ -86,17 +81,17 @@ class HomeFragment : AppViewsFragment(), OnSwit popMenu.setMenuList( mutableListOf( - PopMenuIconView.MenuItem(R.mipmap.home_menu_1) { + PopMenuView.MenuItem(R.mipmap.home_menu_1, 0, 0) { Router.Benefit.startActivity(requireActivity()) StatisticUtil.reportEvents(StatisticUtil.KEY_Chest_Claim_Click) }, - PopMenuIconView.MenuItem(R.mipmap.home_menu_2) { + PopMenuView.MenuItem(R.mipmap.home_menu_2,R.mipmap.icon_gold_ss, 0) { WatchAdDialog(requireActivity(), VidiConst.WATCH_AD_FOR_DAILY_EARN_GOLD, WatchAdDialog.FROM_HOME_MENU,null).show() }, - PopMenuIconView.MenuItem(R.mipmap.home_menu_3) { + PopMenuView.MenuItem(R.mipmap.home_menu_3,0, 0) { Router.Game.startActivity(requireActivity()) }, - PopMenuIconView.MenuItem(R.mipmap.home_menu_4) { + PopMenuView.MenuItem(R.mipmap.home_menu_4,0, 0) { Router.ZeroBuy.startActivity(requireActivity()) } )) diff --git a/app/src/main/res/layout/vididinapp_feature_home_fragment_home.xml b/app/src/main/res/layout/vididinapp_feature_home_fragment_home.xml index 729bc13..5cca22c 100644 --- a/app/src/main/res/layout/vididinapp_feature_home_fragment_home.xml +++ b/app/src/main/res/layout/vididinapp_feature_home_fragment_home.xml @@ -18,7 +18,7 @@ android:layout_marginTop="40dp" /> - 0) { + tvName.setCompoundDrawablesWithIntrinsicBounds(resources.getDrawable(mDataItem.tvDrawable), null, null, null) + } + + if (mDataItem.tvTextRes > 0) { + tvName.text = resources.getString(mDataItem.tvTextRes) + } + } + } + + fun setText(textContent: String) { + mBinding.tvName.text = textContent + } + + +} \ No newline at end of file diff --git a/core/common/src/main/java/com/ama/core/common/widget/PopMenuIconView.kt b/core/common/src/main/java/com/ama/core/common/widget/PopMenuView.kt similarity index 80% rename from core/common/src/main/java/com/ama/core/common/widget/PopMenuIconView.kt rename to core/common/src/main/java/com/ama/core/common/widget/PopMenuView.kt index dedc21c..e5fe9f9 100644 --- a/core/common/src/main/java/com/ama/core/common/widget/PopMenuIconView.kt +++ b/core/common/src/main/java/com/ama/core/common/widget/PopMenuView.kt @@ -14,14 +14,13 @@ import android.view.animation.AccelerateInterpolator import android.view.animation.OvershootInterpolator import android.widget.FrameLayout import android.widget.ImageView -import android.widget.LinearLayout import android.widget.TextView import com.ama.core.common.R import com.ama.core.common.databinding.LayoutPopIconMenuViewBinding import com.ama.core.common.util.dp -class PopMenuIconView @JvmOverloads constructor( +class PopMenuView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 @@ -29,10 +28,12 @@ class PopMenuIconView @JvmOverloads constructor( data class MenuItem( val iconResId: Int, + val tvDrawable: Int, + val tvTextRes: Int, val onClick: (View) -> Unit ) - private val mTvViewList = mutableListOf() + private val mItemViewList = mutableListOf() private val mMenuItemList = mutableListOf() private var isMenuShowing = false private var itemSpacing = 0 @@ -65,37 +66,26 @@ class PopMenuIconView @JvmOverloads constructor( val subContainer = FrameLayout(context).apply { setOnClickListener { menuItem.onClick(this) - //dismissMenu() } - ImageView(context).apply { - setImageResource(menuItem.iconResId) - layoutParams = FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT).apply { - bottomMargin = itemSpacing - } - addView(this) - } - - val textView = TextView(context) - mTvViewList.add(textView) - textView.apply { - setTextSize(10F) - setTextColor(Color.WHITE) - layoutParams = FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT).apply { - bottomMargin = itemSpacing - gravity = Gravity.CENTER_HORIZONTAL - topMargin = 90 - } - addView(this) + layoutParams = FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT).apply { + bottomMargin = itemSpacing + gravity = Gravity.CENTER_HORIZONTAL + topMargin = 10 + } + val itemView = PopMenuItemView(context).apply { + setData(menuItem) } + mItemViewList.add(itemView) + addView(itemView) } mBinding!!.llMenuContainer.addView(subContainer, 0) } } fun setMenuText(menuIndex: Int, textContent: String) { - mTvViewList.get(menuIndex).setText(textContent) + mItemViewList.get(menuIndex).setText(textContent) } fun toggleMenu() { diff --git a/core/common/src/main/res/layout/layout_pop_item_view.xml b/core/common/src/main/res/layout/layout_pop_item_view.xml new file mode 100644 index 0000000..d3d0ed0 --- /dev/null +++ b/core/common/src/main/res/layout/layout_pop_item_view.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/core/common/src/main/res/mipmap-xxhdpi/home_menu_1.webp b/core/common/src/main/res/mipmap-xxhdpi/home_menu_1.webp new file mode 100644 index 0000000..d4ee1f0 Binary files /dev/null and b/core/common/src/main/res/mipmap-xxhdpi/home_menu_1.webp differ diff --git a/core/common/src/main/res/mipmap-xxhdpi/home_menu_2.webp b/core/common/src/main/res/mipmap-xxhdpi/home_menu_2.webp new file mode 100644 index 0000000..b27b2fe Binary files /dev/null and b/core/common/src/main/res/mipmap-xxhdpi/home_menu_2.webp differ diff --git a/core/common/src/main/res/mipmap-xxhdpi/home_menu_3.webp b/core/common/src/main/res/mipmap-xxhdpi/home_menu_3.webp new file mode 100644 index 0000000..2baab13 Binary files /dev/null and b/core/common/src/main/res/mipmap-xxhdpi/home_menu_3.webp differ diff --git a/core/common/src/main/res/mipmap-xxhdpi/home_menu_4.webp b/core/common/src/main/res/mipmap-xxhdpi/home_menu_4.webp new file mode 100644 index 0000000..48795be Binary files /dev/null and b/core/common/src/main/res/mipmap-xxhdpi/home_menu_4.webp differ diff --git a/core/common/src/main/res/mipmap-xxhdpi/home_menu_tv_bg.webp b/core/common/src/main/res/mipmap-xxhdpi/home_menu_tv_bg.webp new file mode 100644 index 0000000..94a2f7b Binary files /dev/null and b/core/common/src/main/res/mipmap-xxhdpi/home_menu_tv_bg.webp differ