mirror of
https://github.com/lizongying/my-tv.git
synced 2026-10-26 22:26:29 +08:00
menu delay disappears
This commit is contained in:
@@ -2,12 +2,14 @@ package com.lizongying.mytv
|
||||
|
||||
import android.graphics.Color
|
||||
import android.view.ContextThemeWrapper
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.animation.ScaleAnimation
|
||||
import android.widget.ImageView
|
||||
import androidx.leanback.widget.ImageCardView
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.lizongying.mytv.models.TVListViewModel
|
||||
@@ -48,7 +50,7 @@ class CardAdapter(private val owner: LifecycleOwner, private var tvListViewModel
|
||||
val tvViewModel = item as TVViewModel
|
||||
val cardView = viewHolder.view as ImageCardView
|
||||
|
||||
cardView.setOnFocusChangeListener { _, hasFocus ->
|
||||
val onFocusChangeListener = View.OnFocusChangeListener { _, hasFocus ->
|
||||
listener?.onItemFocusChange(item, hasFocus)
|
||||
if (hasFocus) {
|
||||
startScaleAnimation(cardView, 0.9f, 1.0f)
|
||||
@@ -57,6 +59,8 @@ class CardAdapter(private val owner: LifecycleOwner, private var tvListViewModel
|
||||
}
|
||||
}
|
||||
|
||||
cardView.onFocusChangeListener = onFocusChangeListener
|
||||
|
||||
cardView.setOnClickListener { _ ->
|
||||
listener?.onItemClicked(item)
|
||||
}
|
||||
|
||||
@@ -93,7 +93,8 @@ class MainActivity : FragmentActivity() {
|
||||
} else {
|
||||
packageInfo.versionCode.toLong()
|
||||
}
|
||||
settingFragment = SettingFragment(versionName, versionCode, channelReversal, channelNum, bootStartup)
|
||||
settingFragment =
|
||||
SettingFragment(versionName, versionCode, channelReversal, channelNum, bootStartup)
|
||||
}
|
||||
|
||||
fun showInfoFragment(tvViewModel: TVViewModel) {
|
||||
@@ -148,7 +149,7 @@ class MainActivity : FragmentActivity() {
|
||||
if (mainFragment.isHidden) {
|
||||
mainFragment.setPosition()
|
||||
transaction.show(mainFragment)
|
||||
keepRunnable()
|
||||
mainActive()
|
||||
} else {
|
||||
transaction.hide(mainFragment)
|
||||
}
|
||||
@@ -156,7 +157,7 @@ class MainActivity : FragmentActivity() {
|
||||
transaction.commit()
|
||||
}
|
||||
|
||||
fun keepRunnable() {
|
||||
fun mainActive() {
|
||||
handler.removeCallbacks(hideMain)
|
||||
handler.postDelayed(hideMain, delayHideMain)
|
||||
}
|
||||
|
||||
@@ -84,6 +84,19 @@ class MainFragment : Fragment(), CardAdapter.ItemListener {
|
||||
itemBinding.rowItems.layoutManager =
|
||||
LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
|
||||
|
||||
itemBinding.rowItems.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
||||
// super.onScrolled(recyclerView, dx, dy)
|
||||
// val layoutManager = recyclerView.layoutManager as LinearLayoutManager
|
||||
// val firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition()
|
||||
// val firstVisibleViewHolder = recyclerView.findViewHolderForAdapterPosition(firstVisibleItemPosition)
|
||||
// if (firstVisibleViewHolder != null && !firstVisibleViewHolder.itemView.hasFocus()) {
|
||||
// firstVisibleViewHolder.itemView.requestFocus()
|
||||
// }
|
||||
(activity as MainActivity).mainActive()
|
||||
}
|
||||
})
|
||||
|
||||
val layoutParams = itemBinding.row.layoutParams as ViewGroup.MarginLayoutParams
|
||||
layoutParams.topMargin = dpToPx(11F)
|
||||
itemBinding.row.layoutParams = layoutParams
|
||||
@@ -158,7 +171,7 @@ class MainFragment : Fragment(), CardAdapter.ItemListener {
|
||||
override fun onItemFocusChange(tvViewModel: TVViewModel, hasFocus: Boolean) {
|
||||
if (hasFocus) {
|
||||
tvListViewModel.setItemPositionCurrent(tvViewModel.id.value!!)
|
||||
(activity as MainActivity).keepRunnable()
|
||||
(activity as MainActivity).mainActive()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package com.lizongying.mytv
|
||||
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.lizongying.mytv.databinding.DialogBinding
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="0dp"
|
||||
android:text="99"
|
||||
android:textColor="#FFEEEEEE"
|
||||
android:textStyle="bold"
|
||||
android:textSize="50sp" />
|
||||
|
||||
Reference in New Issue
Block a user