android - 如何根据兄弟 ScrollView 中的滚动位置同步一个 View 的内容?

标签 android events scroll synchronize

我扩展了 LinearLayout(垂直)以创建自定义复合组件。这又包含两个 child :

  • 一个直接绘制到 View Canvas 上的自定义 View 。
  • 一个 Horizo​​ntalScrollView->LinearView(Horizo​​ntal)->多个自定义 View 。

我现在想重绘自定义 View 以匹配 ScrollView 的可见内容。这样做的原因是 ScrollView 中的一长串自定义组件主要是静态的,适合提前绘制,而顶部 View 应该是高度动态的,并且与 ScrollView 中可见的任何内容相关。

我希望我把问题/想法说清楚了。我一点也不相信这是最好的方法,我很乐意听到任何关于替代解决方案的建议,或者关于每次 Horizo​​ntalScrollView 中的滚动位置发生变化时如何触发重绘事件的想法。

谢谢!

最佳答案

您可以让您的 Activity 监听 ScrollView 适配器。在适配器中,只要滚动位置发生变化,您就会在 Activity 中执行委托(delegate)。 这样, Activity 可以在 ScrollView 更改时更新其余 View 。

关于android - 如何根据兄弟 ScrollView 中的滚动位置同步一个 View 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1635699/

相关文章:

c++ - DropDownList 控件右键单击事件

javascript - 是否有任何 onDocumentChange 事件?

jquery - 获取当前滚动位置并将其作为带有链接的变量传递?

安卓仪器测试 : IllegalAccessError

java - NPE : CursorTreeAdapter$MyCursorHelper. changeCursor(Cursor, boolean)' 在空对象引用上

Android Build - 在编译时选择应用名称和图标

html - 嵌套在表格单元格中时出现 div 溢出问题 (firefox)

android - 如何在 Android 设备中查找 simcard 是否更改?

javascript - 绑定(bind)事件发射器上的单个事件

javascript - 不可能在一个页面中使用两次 JavaScript