在EditText焦点上从右向左移动drawable

时间:2015-08-14 17:22:55

标签: android android-layout

当我专注于EditText时,我需要将我的图标从EditText的右侧移动到左侧(动画)。另外,我需要用另一个图标代替可绘制的权利。

enter image description here

到目前为止,这是我的XML布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true"
    tools:context="com.example.SearchActivity">

    <EditText
        android:id="@+id/barSearch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="0dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:background="@drawable/search_bar"
        android:drawableRight="@drawable/ic_search_white"
        android:drawingCacheQuality="high"
        android:ems="10"
        android:gravity="start"
        android:lines="1"
        android:maxLines="1"
        android:paddingBottom="10dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingTop="10dp"
        android:singleLine="true"
        android:focusable="true" android:focusableInTouchMode="true"
        android:imeOptions="actionSearch"
        android:textColor="@color/white"
        android:textStyle="bold" />

另外,当我开始活动时,EditText没有焦点,如果我点击它就会聚焦,但是当我点击其他人或点击后退按钮时我想要失去焦点。如果我单击后退按钮,键盘会消失,但EditText会保持清晰。

有谁知道实现这一目标的正确方法是什么。

1 个答案:

答案 0 :(得分:0)

试试这个......

// Set drawables for left, top, right, and bottom - send 0 for nothing

editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.drawableRight, 0);