使用下面的函数,我尝试扩大焦点项目的高度和宽度。我面临的问题是高度仅向底部扩展,而顶部似乎是固定的。我想要完全相反的。
inner class ItemViewSelectedListener : OnItemViewSelectedListener {
override fun onItemSelected(
itemViewHolder: Presenter.ViewHolder?,
item: Any?,
rowViewHolder: RowPresenter.ViewHolder?,
row: Row?
) {
if (item is MenuLabelI) {
val indexOfItem = ((row as ListRow).adapter as ArrayObjectAdapter).indexOf(item)
itemSelectedListener?.invoke(item)
itemIndexSelectedListener?.invoke(indexOfItem)
}
itemViewHolder?.view?.setOnFocusChangeListener { view, booleanValue ->
val layoutParams = view.layoutParams as ViewGroup.MarginLayoutParams
if (booleanValue) {
view.setBackgroundResource(R.color.selector_color_taj_trees)
layoutParams.width = getWidthInPercent(view.context, 14)
layoutParams.height = getHeightInPercent(view.context, 17)
view.layoutParams = layoutParams
} else {
view.setBackgroundResource(R.color.item_color_taj_trees)
layoutParams.width = getWidthInPercent(view.context, 12)
layoutParams.height = getHeightInPercent(view.context, 16)
view.layoutParams = layoutParams
}
}
}
}
我希望高度向顶部扩展,底部应该固定。我尝试过使用scaleX、scaleY,但这只会增加项目内容的大小,而不是项目本身。并且layoutParams.setMargins也不起作用。无论我做什么,顶部似乎都是固定的。谁能提供解决方案吗?
onFocus 有一些内置的缩放类型,您可以使用它
初始化时
ListRowPresenter
在参数中传递focusZoomFactor
ListRowPresenter(FocusHighlight.ZOOM_FACTOR_LARGE, false)
其他缩放系数类型
FocusHighlight.ZOOM_FACTOR_NONE
FocusHighlight.ZOOM_FACTOR_SMALL
FocusHighlight.ZOOM_FACTOR_MEDIUM
FocusHighlight.ZOOM_FACTOR_XSMALL