HorizontalScrollView 滑动处理

首先,横向滑动必须把滑动条去掉吧,不然多难看,so easy,只要在xml文件里写一句

android:scrollbars="none"


向左滑动:
mHorizontalScrollView.arrowScroll(View.FOCUS_LEFT);
向右滑动:
mHorizontalScrollView.arrowScroll(View.FOCUS_RIGHT);
其中:arrowScroll方法:
public boolean arrowScroll (int direction)
响应点击左右箭头时对滚动条的处理。
参数
direction The direction corresponding to the arrow key that was pressed箭头按键所表示的方向
返回值
若此事件成功完成,则返回true;否则返回false。
HorizontalScrollView还有个方法你可能用得上:
public final void smoothScrollBy (int dx, int dy)
类似scrollBy(int, int),但是呈现平滑滚动,而非瞬间滚动(译者注:瞬间滚动——指不显示滚动过程,直接显示滚动后达到的位置)。
参数
dx 要滚动的X轴像素差值(译者注:横向像素差值)
dy 要滚动的Y轴像素差值(译者注:纵向像素差值)



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于动态加载数据并实现横向滑动效果的 HorizontalScrollView,你可以按照以下步骤进行操作: 1. 在你的布局文件中添加 HorizontalScrollView 控件: ```xml <HorizontalScrollView android:id="@+id/horizontalScrollView" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/linearLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <!-- 这里可以动态添加子视图 --> </LinearLayout> </HorizontalScrollView> ``` 2. 在你的代码中获取 HorizontalScrollView 和 LinearLayout 对象,并根据数据动态添加子视图: ```java HorizontalScrollView horizontalScrollView = findViewById(R.id.horizontalScrollView); LinearLayout linearLayout = findViewById(R.id.linearLayout); for (int i = 0; i < 数据集合.size(); i++) { final 数据类型 数据 = 数据集合.get(i); // 创建子视图 TextView textView = new TextView(this); textView.setText(数据.文本); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理单项点击事件 // 这里可以根据需要执行相应的操作 } }); // 将子视图添加到 LinearLayout linearLayout.addView(textView); } ``` 3. 如果你希望每次只能选择一项,你可以在点击事件中记录当前选中的项,并在下次点击时取消上一次的选中效果: ```java private TextView lastSelectedView; // ... textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (lastSelectedView != null) { // 取消上一次选中的效果 lastSelectedView.setSelected(false); } // 设置当前选中的效果 textView.setSelected(true); lastSelectedView = textView; // 处理单项点击事件 // 这里可以根据需要执行相应的操作 } }); ``` 这样,你就可以实现在 HorizontalScrollView 中动态加载数据,并且只能单项点击的效果了。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值