答案 0 :(得分:7)
EditText
与其他ImageViews
一起包含父视图。在whatsapp示例中,有 Imogi ImageView , EditText , Attach ImageView 和相机ImageView >在LinearLayout
中。父LinearLayout
具有圆角背景。
我一直想节省时间。这是一个whatsapp克隆,您可以将其拉出并使用其视图。
https://github.com/Shahar2k5/whatsappClone
这个人在这个图书馆里做得很好。
答案 1 :(得分:2)
在EditText中使用drawableRight
属性
<EditText
android:id="@+id/account_et"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:drawableRight="@drawable/icon_backall" //your drawable which you want to use
android:ems="10"
android:hint="@string/str_md_email"
android:padding="10dp" >
</EditText>
答案 2 :(得分:2)
您必须像下面的图片那样进行管理:
上述UI设计代码如下:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="@dimen/_10sdp"
android:background="@drawable/stockbg"
android:orientation="horizontal">
<EditText
android:id="@+id/edt_sendMeassage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_10sdp"
android:layout_marginRight="@dimen/_10sdp"
android:layout_weight="1"
android:maxLines="4"
android:backgroundTint="@android:color/transparent"
android:paddingLeft="@dimen/_10sdp"
android:paddingRight="@dimen/_10sdp"
android:textSize="@dimen/normal_input_text_size" />
<LinearLayout
android:id="@+id/ll_send"
android:layout_weight="6"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="@dimen/_40sdp"
android:layout_height="@dimen/_20sdp"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:src="@drawable/ic_next_arrow"
android:tint="@color/color_gray" />
</LinearLayout>
</LinearLayout>
答案 3 :(得分:1)
我想将附加文件图标放入EditText,例如将其如何制作为WhatsApp。
如果要在EditText
中添加图标,可以使用
android:drawableStart=""
android:drawableEnd=""
android:drawableTop=""
android:drawableLeft=""
android:drawableRight=""
如何将其制作为WhatsApp。我该怎么办?
这不是自定义Edittext
您需要将ImageView
和EditText
包装在ViewGroup
的一侧,例如LinearLayout
或RelativeLayout
示例代码
<LinearLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:padding="10dp"
android:background="@drawable/test"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_menu_camera" />
<EditText
android:layout_width="0dp"
android:background="@android:color/transparent"
android:layout_weight="1"
android:layout_height="wrap_content" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:src="@drawable/ic_menu_camera" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:src="@drawable/ic_menu_camera" />
</LinearLayout>
android:background="@drawable/test"
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="@color/colorPrimary" />
<corners android:radius="25dp" />
</shape>
输出
答案 4 :(得分:0)
您需要根据需要在布局中放置edittext并附加图标,并将圆形背景设置为父级布局
像这样
<RelativeLayout
android:id="@+id/sendLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/roundedbg"
android:orientation="horizontal">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/attachFile"
android:background="@null"
android:padding="@dimen/five_dp" />
<ImageView
android:id="@+id/attachFile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"
/>
</RelativeLayout>
roundedbg.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<stroke android:width="3dp" android:color="#B1BCBE" />
<corners android:radius="10dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
答案 5 :(得分:0)
最好在如下所示的相对布局中使用wrap edittext和imageview
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/custom_edittext"
android:hint="Password"
android:minLines="10"
app:passwordToggleEnabled="true"
android:singleLine="true"
android:inputType="textPassword"
android:textSize="14sp"
android:paddingLeft="20dp"
android:layout_weight="1"
android:paddingRight="20dp"
tools:ignore="MissingPrefix" />
<ImageView
android:id="@+id/ivPasswordToggle"
android:layout_width="24dp"
android:elevation="10dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:layout_height="24dp"
android:background="@drawable/ic_remove_red_eye_black_24dp"/>
</RelativeLayout>
输出:
在Java代码中,使用imageview