我想要一个这样的屏幕:
基本上我有一个列表,在底部我有一个文本字段和一个按钮。
这就是我现在的布局,但是,我没有看到文本字段和按钮。我只看到列表视图。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#F0EFF5">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#b5b5b5"
android:dividerHeight="1dp"
android:cacheColorHint="#00000000"/>
<EditText
android:id="@+id/send_comment"
style="@style/FormalSingleLineEditText"
android:layout_width="match_parent"
android:hint="write something" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send"
android:id="@+id/sendbutton"
/>
</LinearLayout>
列表布局如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants"
android:background="#FFFFFF"
android:divider="#F0EFF5"
>
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/note"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
答案 0 :(得分:1)
尝试将ListView
布局参数更改为此类
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:divider="#b5b5b5"
android:dividerHeight="1dp"
android:cacheColorHint="#00000000"/>
layout_weight
属性使其使用TextView
或Button
尚未占用的整个高度。
答案 1 :(得分:1)
我编写了一个版面非常相似的应用程序,并在下面包含了我的布局的XML。
让父母成为RelativeLayout。在父级内部创建一个Button,根据需要设置宽度和高度,将layout:alignparent设置为Bottom和Right。创建一个EditText,将高度设置为与按钮相同,将width设置为match_parent,将layout:alignParent设置为Bottom,将layout:alignComponent设置为right:left。这将在屏幕底部放置一个EditText,其右边缘触摸按钮的左边缘,其左边缘触摸屏幕的左侧。现在,将ListView添加到布局中。将height和width设置为match_parent,将layout:alignComponent设置为bottom:top。这基本上应该让你到那里。如果您遇到困难,请查看下面的代码:
我的布局XML:
<?xml version="1.0" encoding="utf-8"?>
<ListView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/listView"
android:layout_alignParentLeft="false"
android:layout_marginLeft="0dp"
android:layout_alignParentTop="true"
android:layout_marginTop="0dp"
android:layout_above="@+id/messageET" />
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/addAttachment"
android:padding="5dp"
android:layout_alignParentLeft="true"
android:src="#182c99"
android:background="@color/kinetic_white"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:layout_alignParentTop="false" />
<com.kineticdata.kineticresponse.Widgets.FontEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/messageET"
android:layout_toRightOf="@+id/addAttachment"
android:layout_toLeftOf="@+id/sendButton"
android:hint="@string/type_message"
android:gravity="center_vertical"
android:background="@color/kinetic_white"
android:paddingLeft="5dp"
android:layout_alignParentBottom="true"
android:minHeight="60dp"
android:focusableInTouchMode="true"
android:focusable="true" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/kinetic_light_gray"
android:layout_alignParentLeft="false"
android:layout_alignParentTop="false"
android:layout_toRightOf="@+id/addAttachment"
android:layout_alignTop="@+id/messageET" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/kinetic_light_gray"
android:layout_below="@+id/listView" />
<view
android:layout_width="wrap_content"
android:layout_height="60dp"
class="com.kineticdata.kineticresponse.Widgets.FontTextView"
android:id="@+id/sendButton"
android:text="@string/send"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:gravity="center_vertical" />
<RelativeLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/attachmentContainer"
android:background="@color/kinetic_black"
android:layout_above="@+id/messageET"
android:layout_marginLeft="20dp"
android:layout_marginBottom="5dp">
<ImageView
android:layout_width="96dp"
android:layout_height="96dp"
android:id="@+id/attachedImage"
android:layout_centerInParent="true" />
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/cancelButton"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:background="@color/kinetic_barely_gray"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:layout_alignParentEnd="true" />
</RelativeLayout>
答案 2 :(得分:0)
如果我本来会去你的地方我会使用RelativeLayout而不是
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/bottom_linear"
android:alignParentBottom="true"
android:alignParentLeft="true"
android:layout_width="fill_parent"
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_height="50dp">
<EditText
android:id="@+id/send_comment"
android:layout_width="wrap_cotent"
android:layout_height="fill_parent"
android:layout_weight="0.7"
/>
<Button
android:id="@+id/sendbutton"
android:layout_width="wrap_cotent"
android:layout_height="fill_parent"
android:layout_weight="0.3"
/>
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/bottom_linear"
android:alignParentTop="true"
/>
</RelativeLayout>
你正在做的是创建一个relativelayout并添加一个水平方向的linearlayout并放置在屏幕的底部...然后你添加了edittext和按钮,其重量将有助于动态给出70%和30%的宽度%..
然后你要添加一个listview并告诉android将它附加在顶部并将其保持在底部linearlayout上方,它也将覆盖整个屏幕上方的linearlayout ......
希望它有所帮助谢谢...(如果xml中出现任何错误,请尝试使用CTRL + SPACE进行猜测,当我无法访问eclipse时,我写了这个...)
thx