Fix bug: - 文案需要居中显示,然后看视频得金币的那个200前面需要加个金币icon
This commit is contained in:
parent
bb684928ca
commit
7a381c1ff6
|
|
@ -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<ViewBinding, UiState, ViewModel>(), 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())
|
||||
}
|
||||
))
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
android:layout_marginTop="40dp"
|
||||
/>
|
||||
|
||||
<com.ama.core.common.widget.PopMenuIconView
|
||||
<com.ama.core.common.widget.PopMenuView
|
||||
android:id="@+id/pop_menu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
package com.ama.core.common.widget
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.FrameLayout
|
||||
import com.ama.core.common.databinding.LayoutPopItemViewBinding
|
||||
|
||||
|
||||
class PopMenuItemView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : FrameLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
private lateinit var mDataItem: PopMenuView.MenuItem
|
||||
|
||||
private var mBinding: LayoutPopItemViewBinding
|
||||
init {
|
||||
mBinding = LayoutPopItemViewBinding.inflate(LayoutInflater.from(context), this, true)
|
||||
}
|
||||
|
||||
fun setData(dataItem: PopMenuView.MenuItem) {
|
||||
mDataItem = dataItem
|
||||
with(mBinding) {
|
||||
ivBg.setImageResource(mDataItem.iconResId)
|
||||
if (mDataItem.tvDrawable > 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
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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<TextView>()
|
||||
private val mItemViewList = mutableListOf<PopMenuItemView>()
|
||||
private val mMenuItemList = mutableListOf<MenuItem>()
|
||||
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
|
||||
topMargin = 10
|
||||
}
|
||||
addView(this)
|
||||
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() {
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_horizontal"
|
||||
tools:ignore="ResourceName">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_bg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/home_menu_1"
|
||||
android:layout_gravity="center_horizontal"
|
||||
/>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_gravity="bottom|center_horizontal">
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/home_menu_tv_bg"
|
||||
android:layout_gravity="center"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:drawablePadding="2dp"
|
||||
android:text="name"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="10sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="2dp"
|
||||
/>
|
||||
</FrameLayout>
|
||||
|
||||
</FrameLayout>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
Loading…
Reference in New Issue