在水平滚动视图中定位视图

时间:2014-02-27 16:27:13

标签: android android-layout android-scrollview

我正在尝试为Android构建一个点击式冒险而不使用任何预先编写的引擎,但我陷入了一个非常关键的问题!

我比屏幕大HorizontalScrollView,因此用户可以在纵向模式下向左和向右滚动以搜索房间,现在我需要插入玩家可以在此视图中使用的项目。< / p>

我正在尝试使用静态ImageView,但我真的很困惑如何在HorizontalScrollView内的绝对位置插入视图。我所知道的是Android管理相对于其他视图的视图位置(在顶部,旁边,底部对齐),但是如果我需要使用特定坐标将视图定位在指定位置而不担心图像将是在其他Android设备上放错了不同的屏幕大小?

我真的很困惑Android中的位置视图:/

2 个答案:

答案 0 :(得分:0)

考虑创建自己的视图而不是滥用HSV。 自定义视图,doDraw()方法,画布甚至手势检测都不是那么难。

这是一个链接,可以帮助您进行基础知识,通过关键事件滚动来实现Android的简单视口实现:http://sonnygill.net/android/android-viewport/

答案 1 :(得分:0)

  

如果我需要使用特定坐标将视图放置在指定位置,而不用担心图像会因其他Android设备的不同屏幕尺寸错位而使用

实际上,这正是ViewGroup(布局)创建的原因。 您应该根据您的要求选择正确的布局。 如果您确实希望自己定位视图,可以通过扩展其中一个视图组类来创建自己的自定义ViewGroup,并覆盖用于定位的onLayout(...)onMeasure(...)方法并分别测量子视图(在您的情况下,可能是ImageView)。 您可以使用FlowLayout ViewGroup作为参考,了解如何编写自己的自定义{{1}}。

请注意,如果您的内容大于您提到的屏幕,则Horizo​​ntalScrollView应该是单个子节点的父节点(应该是包含图像的ViewGroup)。