【发布时间】:2016-02-09 17:32:50
【问题描述】:
我决定使用固定列(在左侧)制作类似于 tablelayout 的控件......所以我基于 RelativeLayout 创建了自己的类。该类包含两个滚动视图:_scrollViewLeft 和 _scrollViewRight(每个都包含 tableLayout)。一切正常(数据存在,列和行对齐,表格高度相同)但滚动一个 scrollView 不会滚动另一个。不知道是不是问题出在控件放在ViewPager里面的Fragment里面。
这是一个scrollView类,应该可以同步两个
private class MatrixScrollView : ScrollView
{
public MatrixScrollView(Context context, IAttributeSet attrs) : base(context, attrs)
{
}
protected override void OnScrollChanged(int l, int t, int oldl, int oldt)
{
if (Tag.ToString() == "scrollViewLeft")
_scrollViewRight.ScrollTo(0, t);
else
_scrollViewLeft.ScrollTo(0, t);
}
}
只是为了说清楚:如果你在某个方向上滚动 scrollViewLeft _scrollViewRight.ScrollTo(0, t); 执行 - 但它什么也不做 _scrollViewRight 留在原来的位置。
我的控制是基于this
【问题讨论】:
-
两个滚动视图的内容是否相同?
-
不,它们有不同的表格布局,基于相同的来源。让我们说列表
。所以行数是一样的,行的高度是一样的——所以tableLayouts的高度也是一样的。
标签: android android-fragments xamarin scrollview