0

如何创建像 Instagram 的聊天活动一样的 EditText?EditText 里面有发送按钮。我尝试使用 ImageButton 创建它,但它不能很好地工作,因为每当我键入时文本都会在图像下。如果每行设置字数限制,它也不能很好地工作。所以请提供任何帮助,它有点卡在里面。我是android开发的新手,所以请帮助新人,并提前非常感谢。

编辑文本

<android.support.v7.widget.AppCompatEditText
            android:id="@+id/itemEditText_id"
            android:layout_width="match_parent"
            android:layout_height="70dp"
            android:layout_marginTop="8dp"
            android:layout_marginStart="2dp"
            android:layout_marginEnd="4dp"
            android:lines="2"
            android:scrollHorizontally="false"
            android:maxLength="69"
            android:scrollbars="vertical"
            android:background="@drawable/round_border_edit_text"
            android:hint="Go ahead \nSend messge"
            android:inputType="textMultiLine|textLongMessage"
            android:textAppearance="@style/TextAppearance.AppCompat.Body2"
            android:maxLines="2"
            android:minLines="1"
            >

图像按钮

 <android.support.v7.widget.AppCompatImageButton
            android:id="@+id/itemSendButton_id"
            android:layout_width="25dp"
            android:layout_height="20dp"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:layout_marginEnd="11dp"
            android:background="@color/colorFacebookBtnText"
            android:clickable="true"
            android:focusable="true"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_send" />
4

4 回答 4

0

尝试这个 :

  <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
  android:layout_height="wrap_content" >

<android.support.v7.widget.AppCompatEditText
        android:id="@+id/itemEditText_id"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_marginTop="8dp"
        android:layout_marginStart="2dp"
        android:layout_marginEnd="4dp"
        android:lines="2"
        android:scrollHorizontally="false"
        android:maxLength="69"
        android:scrollbars="vertical"
        android:background="@drawable/round_border_edit_text"
        android:hint="Go ahead \nSend messge"
        android:inputType="textMultiLine|textLongMessage"
        android:textAppearance="@style/TextAppearance.AppCompat.Body2"
        android:maxLines="2"
        android:minLines="1"
        >

<android.support.v7.widget.AppCompatImageButton
        android:id="@+id/itemSendButton_id"
        android:layout_width="25dp"
        android:layout_height="20dp"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:layout_marginEnd="11dp"
        android:background="@color/colorFacebookBtnText"
        android:clickable="true"
        android:focusable="true"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_send" />

  </RelativeLayout>

结果 :

在此处输入图像描述

于 2018-05-16T11:27:35.617 回答
0

试试这个,你的问题就解决了:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <android.support.v7.widget.AppCompatEditText
        android:id="@+id/itemEditText_id"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_marginTop="8dp"
        android:layout_weight="1"
        android:background="@drawable/round_border_edit_text"
        android:hint="Go ahead \nSend messge"
        android:inputType="textMultiLine|textLongMessage"
        android:lines="2"
        android:maxLength="69"
        android:maxLines="2"
        android:minLines="1"
        android:scrollHorizontally="false"
        android:scrollbars="vertical"
        android:textAppearance="@style/TextAppearance.AppCompat.Body2" />


    <android.support.v7.widget.AppCompatImageButton
        android:id="@+id/itemSendButton_id"
        android:layout_width="25dp"
        android:layout_height="20dp"
        android:layout_gravity="center_vertical"
        android:background="@color/colorFacebookBtnText"
        android:clickable="true"
        android:focusable="true"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_send" />
</LinearLayout>

只需将 EditText 和 ImageView 都放在水平方向的线性布局中。

于 2018-05-16T11:24:53.717 回答
0

我希望这对你有用

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
  xmlns:android="http://schemas.android.com/apk/res/android">

   <android.support.v7.widget.AppCompatEditText
    android:id="@+id/itemEditText_id"
    android:layout_width="match_parent"
    android:layout_height="70dp"
    android:lines="2"
    android:paddingLeft="10dp"
    android:scrollHorizontally="false"
    android:maxLength="69"
    android:gravity="left|center_vertical"
    android:scrollbars="vertical"
    android:background="@drawable/round_border_edit_text"
    android:hint="Go ahead \nSend messge"
    android:inputType="textMultiLine|textLongMessage"
    android:textAppearance="@style/TextAppearance.AppCompat.Body2"
    android:maxLines="2"
    android:minLines="1"/>


   <android.support.v7.widget.AppCompatImageButton
    android:id="@+id/itemSendButton_id"
    android:layout_width="25dp"
    android:layout_height="20dp"
    android:layout_gravity="center_vertical|right"
    android:background="@color/colorFacebookBtnText"
    android:clickable="true"
    android:layout_marginRight="10dp"
    android:focusable="true"
    android:scaleType="fitCenter"
    android:src="@mipmap/ic_launcher" />


  </FrameLayout>
于 2018-05-16T11:34:44.587 回答
0

****嘿,非常感谢您的回答,但我找到了一个更好的解决方案,我只需要消失我的editText下栏,我通过将其背景设置为透明颜色(#00000000)并将圆形形状赋予我的相对布局容器而不是我的editText 并将图像按钮放在我的 editText 旁边。现在我什至不必设置字数限制一切正常。****

 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/round_border_edit_text">

        <android.support.v7.widget.AppCompatEditText
            android:id="@+id/itemEditText_id"
            android:layout_width="261dp"
            android:layout_height="70dp"
            android:layout_marginEnd="4dp"
            android:layout_marginStart="2dp"
            android:layout_marginTop="8dp"
            android:background="@color/colorTransparent"
            android:hint="Go ahead \nSend messge"
            android:inputType="textMultiLine|textLongMessage"
            android:lines="2"
            android:maxLines="2"
            android:minLines="1"
            android:scrollHorizontally="false"
            android:scrollbars="vertical"
            android:textAppearance="@style/TextAppearance.AppCompat.Body2" />


        <android.support.v7.widget.AppCompatImageButton
            android:id="@+id/itemSendButton_id"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_centerVertical="true"
            android:layout_marginStart="-4dp"
            android:layout_toEndOf="@+id/itemEditText_id"
            android:background="@color/colorTransparent"
            android:clickable="true"
            android:focusable="true"
            android:scaleType="centerCrop"
            android:src="@drawable/send" />

    </RelativeLayout>

****相对布局的圆形****

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <padding
        android:left="8dp"
        android:top="8dp"
        android:right="8dp"
        android:bottom="8dp"
        />

            <solid android:color="#EEEEEE"/>

            <corners android:radius="40dp" />

            <stroke
                android:width="1dp"
                android:color="@color/colorEditTextBorder"
                />


</shape>
于 2018-05-18T10:50:27.380 回答