我有如下的布局要求,
Textview
TextView
ListView
Edit Text
Button
由于listview
无法适应横向,因此我希望将列表视图(即listview
,edittext
和button
)作为滚动视图。
我知道listview不能在scrollview
内使用,但有没有办法做到这一点?
任何工作的例子将不胜感激。
答案 0 :(得分:1)
99%的Android开发人员认为我们不应该在ScrollView中使用ListView,因为两者都是滚动视图,只有父级可以滚动,所以它包装了ListView。
100%正确。但我们必须使用技巧来避免这种情况并达到我们的要求。
我在网上找到了一个技巧,即根据列表项设置ListView的高度。只需查看下面的链接,您将获得一个示例代码来计算ListView的高度以适应ScollView。
Android ListView height calculation to fit in ScrollView
此代码存在的问题是,如果有更多孩子可用,则列表视图将填满整个屏幕。
您必须使用以下模板来解决您的需求。
<ScrollView >
<LinearLayout vertical>
<TextView />
<TextView />
<ListView />
<EditText />
<Button />
</LinearLayout>
</ScrollView>
我在youtube上看到了一个视频,Android ListView inside a ScrollView显示我们可以限制listview的高度,可以滚动并在ScrollView中使用。我不知道程序员是如何实现的。
我也想通过避免上面的示例代码来产生相同的结果。我希望它可以暂时帮助你。如果你有解决方案,请告诉我。
答案 1 :(得分:0)
就这样做
<ScrollView>
<LinearLayout>
<ListView>
</LinearLayout>
</ScrollView>
然后添加你的
的EditText
按钮
答案 2 :(得分:0)
这种布局的更好解决方案是你应该使用相对布局并修复你屏幕底部的EditText
和Button
,就像我在列表视图中一样(见下图) )这样您就不需要在布局中添加ScrollView
。
答案 3 :(得分:0)
关于如何在没有滚动视图的情况下执行您想要的操作的方法。
ListView
ListView
填充EditText
,然后填充Button
和getView
。所以元素的数量将是n + 2 EditText
中,返回一个包含Button
框而非正常列表项的视图ListView
。不要试图用ScrollView
包裹{{1}},你需要解决很多问题。
注意:我没有对此进行测试,甚至不确定它是否有效。如果有效,请告诉我。 :)