horizontalscrollview

init {
linear = LinearLayout(context)
linear.orientation = LinearLayout.HORIZONTAL
val params = LinearLayout.layoutparams(
FrameLayout.LayoutParams.wrap_content, FrameLayout.LayoutParams.MATCH_parent)
params.leftMargin = CommonUtil.dp2px(context, 15f)
linear.gravity = Gravity.CENTER_VERTICAL
this.addView(linear, params)
}
fun onClicked(index: Int) {
if (index == -1) {
return
}
this.post({
val position = index
val itemView = linear.getChildAt(position)
val itemWidth = itemView.width
val screenWidth = CommonUtil.getScreenWidth(context)
val newPosition = itemView.left - (screenWidth / 2 - itemWidth / 2)
val scrollBy = newPosition - lastPosition
lastPosition = newPosition
smoothScrollBy(scrollBy, 0)
})
}
fun removeAllItemViews() {
linear.removeAllViews()
}
fun addItemView(itemView: View, params: LinearLayout.LayoutParams) {
linear.addView(itemView, params)
}
}
在xml中这样引用:
<ctrip.Android.tour.pricecalendar.component.CenterShowHorizontalScrollView
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:id="@+id/multiline_layout"
android:background="#ffffff"
android:scrollbars=“none”>
</ctrip.android.tour.priceCalendar.component.CenterShowHorizontalScrollView>
在java文件中注意在addView到这个自定义的HorizontalScrollView中时,要调用addItemView方法。然后在选中item时,调用onClicked方法。
相关阅读
1024*600 (常见8.9寸电脑使用) 1024*768(常用10.4、12.1、14.1、15寸电脑使用)4:3 1280*1024(常用14.1、15寸电脑使用)5:4 1600 * 900
最近在群里看到小伙伴谈到migo的收货的增强,如图所示: 如何做到呢,首先我们做下准备工作: 1.我们需要创建2个表分别作为抬头和行项目
一、需求 双屏显示器下,在主屏(副屏)显示的web页面中,点击链接,打开新页面在副屏(主屏)上显示。 二、实现方式 代码实现: testdouble.html
1、按Win+R打开运行窗口,并输入regedit点击确定,打开注册表编辑器; 2、在注册表左侧依次打开:HKEY_Local_Machine\SYSTEM\Current
在PPS播放器中,其实用户是可以任意的设置播放屏幕的大小的。但是前提是我们要放弃调用WMP播放,而是采用PPS新版中自带的播放器进行