首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聊天界面的布局

聊天界面的布局
EN

Stack Overflow用户
提问于 2013-08-04 05:41:06
回答 1查看 2.4K关注 0票数 1

我使用按钮是为了获得一个行为类似于聊天界面的UI (这意味着,在底部,我有一个多行EditText和一个按钮(用来发送消息),而在它上面,有一个显示消息的列表视图)。

ListView应该占用EditText和按钮留下的空闲空间。

我已经在我的FrameLayout和RelativeLayout上增加了重量,以确保Listview将占据几乎所有的空间。

目前,它可以工作,但问题是,当我将焦点放在EditText上(以便在其中键入内容)时,EditText变得非常小(它只显示一行)。

但我希望在不聚焦时有一个小的EditText (以便在列表视图中显示尽可能多的消息),在我键入时有一个较大的EditText (以显示尽可能多的行)。

这是我的布局:

代码语言:javascript
复制
<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"
android:paddingBottom="1dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:paddingTop="1dp"
tools:context=".ChatActivity"
android:background="#f0f4fc"
android:weightSum="100">

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="82" >

    <ListView
        android:id="@+id/chat1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector" 
        />

    <ListView
        android:id="@+id/chat2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector"
        android:visibility="gone" />
</FrameLayout>

<RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="18" 
    android:background="#f0f4fc"
    android:descendantFocusability="beforeDescendants" 
    android:focusableInTouchMode="true" >

    <EditText
        android:id="@+id/messageBox"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/sendButton"
        android:ems="10"
        android:gravity="top"
        android:hint="@string/enterMessageHere"
        android:minHeight="50dp" 
        android:inputType="textMultiLine"
        android:lines="3"
        android:maxLines="3"
        android:minLines="3" >

        <!-- <requestFocus />  -->
    </EditText>

    <Button
        android:id="@+id/sendButton"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="@string/send" />

</RelativeLayout>

所以,简而言之,我想要有类似于"Go SMS“界面的东西,这将是很棒的。

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2013-08-04 09:02:33

代码语言:javascript
复制
EditText.getLayoutParams().width= 20;
EditText.getLayoutParams().height = 20;

当你聚焦你的文本或者onclick时,将编辑文本的大小更改为你want.must的大小,查看如何检测编辑文本是否被聚焦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18037578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档