Android EditText Hint with Drawable居中

时间:2015-09-15 17:04:55

标签: android xml

enter image description here

  • 我为没有张贴实际图片而道歉。看来我现在还没有代表这样做。

我想在上图中创建一个类似于搜索的编辑文本。 我之前尝试使用带有可绘制左侧的编辑文本来创建它,但是我无法使用padding和drawablePadding使图像与文本居中。

目前我的xml布局中有这个。

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <EditText
            android:id="@+id/countryCodeSearch"
            android:layout_width="match_parent"
            android:layout_height="25dp"
            android:background="@color/tiara"
            android:hint="@string/search"
            android:gravity="center"
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:layout_marginTop="2dp"
            android:layout_centerVertical="true"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="18dp"
            android:src="@drawable/mag_glass"
            android:layout_centerVertical="true"
            android:layout_marginLeft="90dp"
            android:layout_marginStart="90dp"/>

    </RelativeLayout>

有人能指出我更好的方向吗?我在Stack Overflow上看了一些其他的例子,但是找不到textview提示和drawable需要居中的地方。

全部谢谢!

1 个答案:

答案 0 :(得分:0)

在你班上:

EditText searchEditText = (EditText) findViewById(R.id.searchEditText);

    Drawable img;
    Resources res = getResources();
    img = res.getDrawable(R.drawable.search_icon);
    img.setBounds(0, 0, 40, 40);
    searchEditText.setCompoundDrawables(img, null, null, null);
    searchEditText.setCompoundDrawablePadding(40);
    searchEditText.setPadding(40,0,0,0);

您必须将setBoundssetCompoundDrawablePaddingsetPadding更改为您的值。