如何创建像Instagram的聊天活动一样的EditText? EditText里面有发送按钮。我尝试使用ImageButton创建它,但它不能很好地工作,因为每当我键入时Text都会在图像下。如果设置每行的单词限制,它也不能很好地工作。所以任何帮助,请它,它有点卡在里面。我是Android开发的新手,所以请帮助我们提供新鲜感,并提前感谢。
EDITTEXT
<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"
>
ImageButoon
<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" />
答案 0 :(得分: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放在Linear Layout中,水平方向。
答案 1 :(得分: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>
结果:
答案 2 :(得分: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>
答案 3 :(得分:0)
****嘿,非常感谢你的答案,但我找到了一个更好的解决方案,我只需要消除我的editText下栏,我通过给它背景为transparentColor(#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>
**** 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>