android 如何禁止scrollview 滚动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 如何禁止scrollview 滚动相关的知识,希望对你有一定的参考价值。
参考技术A android scrollview组件禁止滑动的方法;xml配置:
android:id="@+id/sc_freement"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/category_line"
android:scrollbars="none"
android:fadingEdge="none">
</<span style="line-height: 21px; ">ScrollView>
java代码控制:
ScrollView scrollView = (ScrollView)this.findViewById(R.id.sc_freement);
scrollView.setOnTouchListener(new View.OnTouchListener()
@Override
public boolean onTouch(View arg0, MotionEvent arg1)
return true;
); 参考技术B 换成linearlayout 参考技术C 请问您到底什么意思 如果不想滚动 为什么还要用scrollview呢?
当scrollview快速滚动时如何滚动collectionView?
【中文标题】当scrollview快速滚动时如何滚动collectionView?【英文标题】:How can I scroll collectionView when scrollview scrolls in swift? 【发布时间】:2018-06-25 13:07:39 【问题描述】:我有 Scrollview 和 Collectionview,它们都是水平滚动的
scrollview 有页面,我想要在 scrollview 滚动时,也滚动 collectionview 并选择与 scrollview 页面索引相同的索引 collectionview 单元格
这里的问题是,在滚动视图滚动后,集合视图也会滚动,它会选择与滚动视图页面索引相同的单元格,但在此之后集合视图不会自行滚动。
抱歉,问题的格式可能不好,我是新来的
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
let cell=collectionView.dequeueReusableCell(withReuseIdentifier: "mycell", for: indexPath) as! MenuListCollectionViewCell
cell.commoninit(name: ListOfMenu[indexPath.row])
let IndexForCol = (scrollview.contentOffset.x / scrollview.frame.size.width).rounded()
if selectedIndex == Int(indexPath.row)
cell.backgroundColor = UIColor(hue: 0.6167, saturation: 1, brightness: 0.97, alpha: 1.0)
cell.layer.cornerRadius = 14
if indexPath.row == Int(IndexForCol)
cell.backgroundColor = UIColor(hue: 0.6167, saturation: 1, brightness: 0.97, alpha: 1.0)
else
cell.backgroundColor = UIColor.clear
return cell
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
selectedIndex = indexPath.row
UIView.animate(withDuration: 0.5, animations:
self.scrollview.contentOffset.x = self.scrollview.frame.width*CGFloat(indexPath.row)
)
func scrollViewDidScroll(_ scrollView: UIScrollView)
let indexOfPage = round(scrollview.contentOffset.x / scrollview.frame.size.width)
UIView.animate(withDuration: 0.5, animations:
self.collectionview.scrollToItem(at:IndexPath(item: Int(indexOfPage), section: 0), at: .right, animated: false)
)
collectionview.reloadData()
模拟器图片:
【问题讨论】:
【参考方案1】:scrollViewDidScroll
被collectionView 和scrollView 调用,然后给scrollView 一个标签
//
func scrollViewDidScroll(_ scrollView: UIScrollView)
if scrollView.tag == 2 // scrollView scrolled
use collectionView's scrollToItem
else // collectionView scrolled
set contentOffset to the scrollView
【讨论】:
以上是关于android 如何禁止scrollview 滚动的主要内容,如果未能解决你的问题,请参考以下文章