Android系统。在屏幕下方放置一个静态按钮

时间:2014-01-25 18:21:31

标签: android listview static

这是我的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >




<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center" >

</ListView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="end"
     >

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.73"
        android:ems="10" />

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/enviar" />
</LinearLayout>

我不喜欢跑步。我需要列表视图具有静态大小:所有屏幕 - 其余对象。我需要列表视图位于顶部。

问题是如果我把android:layout_height =“match_parent”列表视图的大小全部都是屏幕。如果我把android:layout_height =“wrap_content”的大小变量,当我有很多元素时,其余的对象都不可见。

我需要列表视图下方的对象始终可见。有些像whatsapp对话屏幕。你了解我吗?抱歉我的英语不好:)

2 个答案:

答案 0 :(得分:1)

您可以拥有RelativeLayout。将LinearLayout放在底部。将listview放在LinearLayout上方。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

   <LinearLayout // this can be vartical or horizontal orientation depending on your need
       android:id="@+id/linearLayout1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_centerHorizontal="true"
       android:gravity="center"
       android:orientation="horizontal" >

      <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10" />

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="enviar" />


</LinearLayout>

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/linearLayout1"
        android:layout_centerHorizontal="true" >

    </ListView>

</RelativeLayout>

或使用单个RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="Button" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/editText1"
        android:layout_alignEnd="@+id/button1"
        android:layout_alignParentRight="true" >

    </ListView>

</RelativeLayout>

答案 1 :(得分:0)

我建议使用包含列表视图和按钮的相对布局。设置其布局权重属性,以便它们占用屏幕。例如,一个对象上的1和另一个对象上的7的布局权重使得一个占据屏幕的7/8而另一个占用1/8。如果您需要能够查看更多列表视图,请将其放在滚动视图中。