android - 如何让 Edittext(多行)在顶部位置可绘制

标签 android android-edittext android-drawable

我正在使用带有 textMultiLine 属性的 Edittext。我使用 android:gravity="top" 在顶部位置获得了 edittext 文本。但我无法将 android:drawableLeft="@drawable/ic_message" 放在首位。

enter image description here

我想要 android:drawableLeft="@drawable/ic_message" 在顶部位置(Message 文本的左侧)

编辑

我的 Edittext xml 如下:

<EditText
    android:id="@+id/edtContactMessage"
    style="@style/styleRoundedEdittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="@dimen/tendp"
    android:drawableLeft="@drawable/ic_message"
    android:gravity="top"
    android:hint="@string/strMessage"
    android:imeOptions="actionDone"
    android:inputType="textMultiLine"
    android:lines="5"
    android:maxLength="500"
    android:minHeight="120dp"
    android:scrollbars="vertical"
    android:singleLine="false" />

最佳答案

不可能像这样在顶部位置的 EditText 上设置左侧可绘制对象,您需要将 EditText 包装在父布局中,您可以在父布局中放置一个 ImageView 来代替在该位置绘制图标。

这是一个例子:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@android:drawable/edit_text"
android:orientation="horizontal">

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:src="@android:drawable/ic_menu_send"
    android:scaleType="fitStart"
    android:contentDescription="message icon"
    />

<EditText
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:background="@null"
    android:padding="4dp"
    android:text="Message"
    android:inputType="textMultiLine"
    android:gravity="top"
    android:layout_weight="1" />

</LinearLayout>

关于android - 如何让 Edittext(多行)在顶部位置可绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805452/

相关文章:

android - Android 4.2 之前的 mipmap 启动器图标的使用?

Android EditText 在其可绘制对象和文本之间绘制一条分隔线

android - 如何将可绘制集的颜色更改为android :background?

c# - Visual Studio 无法识别 MvxFragment 的 BindingInflate 函数

android - ContextMenu 标题 -> 从点击的 listView 项目中获取

Android ldpi 设备应该使用 mdpi 资源吗?

java - 显示从edittext到textview的文本

android - 编辑文本背景为直线

java - Android handle 软回车键

android - android/mysql的评分算法