我有一个圆角矩形editText
。如何在imageView
内添加EditText
?
<RelativeLayout
android:layout_marginTop="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText
android:id="@+id/editTextDate"
android:background="@drawable/rounded_rectangle"
android:layout_toRightOf="@+id/dateIcon"
android:text=""
android:hint="Date"
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ImageView
android:layout_marginLeft="10dp"
android:padding="3dp"
android:tint="@color/colorPrimaryDark"
android:id="@+id/dateIcon"
android:src="@android:drawable/ic_menu_my_calendar"
android:layout_width="40dp"
android:layout_height="40dp" />
</RelativeLayout>
输出
在此之前,我试过
<EditText
android:drawableLeft="@android:drawable/ic_menu_my_calendar"
android:background="@drawable/rounded_rectangle"
android:padding="5dp"
android:id="@+id/editTextDate"
android:layout_width="220dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp" />
但我无法使用android:tint
更改图像颜色。
答案 0 :(得分:2)
您可以使用setCompoundDrawablesWithIntrinsicBounds方法。
EditText text = (EditText) findViewById(R.id.edtText);
text.setText("MyText");
text.setCompoundDrawablesWithIntrinsicBounds(null, null,
getResources().getDrawable(R.drawable.myDrawable, null), null);
您也可以使用android:drawableRight
或android:drawableLeft
android:drawableRight="@android:drawable/my_image"
答案 1 :(得分:2)
{{1}}
它看起来像这样(查看链接中的图片): - https://i.stack.imgur.com/NBrjO.png
答案 2 :(得分:1)
不要将圆角矩形用于EditText背景,而是在父RelativeLayout上使用它。让后续的孩子bg透明:
<RelativeLayout
android:layout_marginTop="15dp"
android:background="@drawable/rounded_rectangle"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText
android:id="@+id/editTextDate"
android:background="@android:color/transparent"
android:layout_toRightOf="@+id/dateIcon"
android:text=""
android:hint="Date"
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ImageView
android:layout_marginLeft="10dp"
android:padding="3dp"
android:tint="@color/colorPrimaryDark"
android:id="@+id/dateIcon"
android:src="@android:drawable/ic_menu_my_calendar"
android:background="@android:color/transparent"
android:layout_width="40dp"
android:layout_height="40dp" />
</RelativeLayout>
答案 3 :(得分:1)
试试这个
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@drawable/curve_button">
<EditText
android:id="@+id/editTextDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/dateIcon"
android:background="@android:color/transparent"
android:hint="Date"
android:padding="10dp"
android:text="" />
<ImageView
android:id="@+id/dateIcon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:padding="3dp"
android:backgroundTintMode="src_over"
android:src="@android:drawable/ic_menu_my_calendar"
android:tint="@color/red" />
</RelativeLayout>
<强>机器人:背景=“@绘制/ curve_button 强>
<?xml version="1.0" encoding="utf-8"?><!-- res/drawable/rounded_edittext.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle">
<solid android:color="#FFFFFF" />
<stroke android:width="1dip" android:color="#1a1919" />
<corners android:radius="20dp"/>
</shape>
<强>输出强>
答案 4 :(得分:0)
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editTextSearch"
android:layout_width="match_parent"
android:layout_height="46dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:background="@drawable/shape_edittext"
android:hint="Search for services"
android:paddingStart="10dp"
android:maxLines="1"
android:inputType="text"
android:textSize="16sp"
android:drawablePadding="10dp"
android:drawableStart="@drawable/ic_search"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/textViewDescription" />