我有一项活动按顺序显示这三件事。
我希望用户可以垂直滚动,所以我将上面的三个项目放在单个相对布局中,然后放入scrollView
<RelativeLayout>
<ScrollView>
<RelativeLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
此方法存在问题
ListView和滚动视图一起是糟糕的用户体验。当List将覆盖所有屏幕时,用户在滚动完整视图本身时会遇到问题。
我能想到的解决方案
第二种方法(我做了并遇到了问题)。
而不是使用ListView动态添加LinearLayout(替换listrow)。
此方法存在问题
很多丑陋的编码,因为没有针对此类场景的复杂适配器。需要填充每个LinearLayout并且它会产生更多问题,因为我为每个LinearLayout都有异步Image加载。
什么是更好的方法。任何替补?
答案 0 :(得分:0)
不要同时使用ScrollView
和ListView
,这是{em> Romain Guy (ListView
的创建者)提到的一件坏事。您LinearLayout
方法的问题在于性能:您需要创建 n 新的Views
,而ListView
只是重用现有的。{/ p>
我能想到的解决方案(如果无法在不滚动的情况下使您的布局组件适合屏幕),您可以在ListView中禁用滚动并添加“向上滚动”和“向下滚动”按钮,设置onClickListener
和OnLongClickListener
以让用户控制滚动速度。虽然这可能不是最好的方法。考虑重新设计布局,使组件适合单个屏幕。由于布局组件不适合单个屏幕,因此通常不能很好地启用滚动。您可以向ViewFlipper
添加更多页面,然后将ListView
放在那里