我正在尝试模仿HTC SMS应用程序(传统视图)的行为,其中显示所有消息,并且下面显示了EditText。正如您在屏幕截图中看到的,当向上滚动时,EditText会向下滚动。
即使在阅读了多篇帖子(例如Android Layout with ListView and Buttons和此网站:http://www.finalconcept.com.au/article/view/android-keeping-buttons-visible)之后,我仍然坚持这一点,但它没有按预期工作。
感谢评论和EditText now showing under ListView,我设法让我的ListView获取所有可用空间并在完成后开始滚动。 EditText现在显示在屏幕的底部 - 始终。当我向上滚动时,我希望它在底部消失 - 现在它仍然在底部
当前代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@android:id/android:list"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<TableLayout
android:layout_weight="0"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<EditText android:id="@+id/newmessagecontent"
android:layout_height="150dp"
android:singleLine="false"
android:gravity="top"
android:layout_width="250dp"
android:layout_alignParentTop="true"
/>
<Button android:layout_height="wrap_content"
android:id="@+id/sendmessage"
android:text="Send"
android:layout_width="wrap_content"
/>
</TableRow>
</TableLayout>
</LinearLayout>
答案 0 :(得分:0)
如果ListView中的所有项目占用的空间超出了视图提供的空间,则ListView会自动滚动。如果删除ScrollView会发生什么?
答案 1 :(得分:0)
我认为你需要在这里实现的是从Article对Jeff Sharkey的SeparatedListAdapter
进行某种修改。在本文中,他不仅设法将两个Adapters
添加到ListView
,还解释了如何根据需要让Headers分隔它们(您可以删除代码的那一部分)。
我的意思是,你的第一个Adapter
是带有它的行的数据,第二个Adapter
是虚拟的,没有数据只指向View
用你的控件或其他什么。
这样ListView
以及你想在底部添加的内容都是可滚动的。
希望这有帮助。