【问题标题】:How to change image size in EditText?如何在 EditText 中更改图像大小?
【发布时间】:2019-11-29 05:04:58
【问题描述】:

我将图片设置为我的 EditText 使用 机器人:drawableLeft 但是我这个图片的大小有问题,怎么在xml里改呢?

xml

    <EditText
        android:id="@+id/RegisterActivity_EditText_Email"
        android:layout_width="288dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="27dp"
        android:background="@drawable/field_edit_text_style"
        android:fontFamily="sans-serif-light"
        android:drawableLeft="@drawable/mail_img_foreground"
        android:inputType="textEmailAddress"
        android:gravity="center"

【问题讨论】:

  • 使用 ImageView 修改图片大小。
  • 你可以去这里看看solution

标签: java android xml


【解决方案1】:

你总是可以作弊和使用:

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

<EditText
        android:id="@+id/RegisterActivity_EditText_Email"
        android:layout_width="288dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="27dp"
        android:layout_marginLeft="-10dp"
        android:layout_toRightOf="@+id/icon"
        android:background=""
        android:fontFamily="sans-serif-light"
        android:padding="10dp"
        android:inputType="textEmailAddress"
        android:gravity="center"/>

    <ImageView
        android:padding="3dp"
        android:id="@+id/icon"
        android:src="@drawable/perm_group_personal_info"
        android:layout_width="40dp"
        android:layout_height="40dp" />

</RelativeLayout>

【讨论】:

    【解决方案2】:

    你可以这样设置layout_height

    <EditText
        android:id="@+id/RegisterActivity_EditText_Email"
        android:layout_width="288dp"
        android:layout_height="50dp"
        android:layout_marginTop="27dp"
        android:background="@drawable/field_edit_text_style"
        android:fontFamily="sans-serif-light"
        android:drawableLeft="@drawable/mail_img_foreground"
        android:inputType="textEmailAddress"
        android:gravity="center"
    

    【讨论】:

    • link 我需要更改图像的大小以使其适合现场。在屏幕截图中,我认为我想要实现的目标很明确。
    • Drawable drawable = ContextCompat.getDrawable(context,R.drawable.yourdrawable); drawable.setBounds(0, 0, (int)(drawable.getIntrinsicWidth()*0.5), (int)(drawable.getIntrinsicHeight()*0.5)); ScaleDrawable sd = new ScaleDrawable(drawable, 0, scaleWidth, scaleHeight);按钮 btn = findViewbyId(R.id.yourbtnID); RegisterActivity_EditText_Email.setCompoundDrawables(sd.getDrawable(), null, null, null);
    • 或者你可以创建一个像这样的层列表 schemas.android.com/apk/res/android" >
    【解决方案3】:

    你只需要一个线性布局。

    在 LinearLayout 中添加 ImageView 和 EditText 并设置 'layout Orientation' 水平。

    android:orientation="horizo​​ntal"

    相应更改高度和宽度后尝试以下代码。

    <LinearLayout
        android:layout_width="width"
        android:layout_height="height"
        android:orientation="horizontal">
    
        <ImageView
            android:layout_width="width"
            android:layout_height="height"
            android:src="@drawable/mail_img_foreground" />
    
        <EditText
            android:id="@+id/RegisterActivity_EditText_Email"
            android:layout_width="288dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="27dp"
            android:background="@drawable/field_edit_text_style"
            android:fontFamily="sans-serif-light"
            android:gravity="center"
            android:inputType="textEmailAddress" />
    
    </LinearLayout>
    

    欢迎在 cmets 中提问。 :-)

    【讨论】:

      猜你喜欢
      • 2015-02-05
      • 2014-10-31
      • 2021-12-16
      • 2019-12-05
      • 2021-12-19
      • 1970-01-01
      • 2012-12-06
      相关资源
      最近更新 更多