Android布局 - 下面的listview和edittext

时间:2011-08-15 19:20:18

标签: android listview layout

我正在尝试模仿HTC SMS应用程序(传统视图)的行为,其中显示所有消息,并且下面显示了EditText。正如您在屏幕截图中看到的,当向上滚动时,EditText会向下滚动。

enter image description here

即使在阅读了多篇帖子(例如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>

enter image description here

2 个答案:

答案 0 :(得分:0)

如果ListView中的所有项目占用的空间超出了视图提供的空间,则ListView会自动滚动。如果删除ScrollView会发生什么?

答案 1 :(得分:0)

我认为你需要在这里实现的是从Article对Jeff Sharkey的SeparatedListAdapter进行某种修改。在本文中,他不仅设法将两个Adapters添加到ListView,还解释了如何根据需要让Headers分隔它们(您可以删除代码的那一部分)。

我的意思是,你的第一个Adapter是带有它的行的数据,第二个Adapter是虚拟的,没有数据只指向View用你的控件或其他什么。

这样ListView以及你想在底部添加的内容都是可滚动的。

希望这有帮助。