Да, есть способ достичь этого.
Определите RelativeLayout, как этот.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText android:id="@+id/edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
<ImageButton android:id="@+id/clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"
android:layout_alignRight="@id/edittext"/>
</RelativeLayout>
Теперь что происходит.ImageButton рисуется поверх EditText.Мы устанавливаем его правый край равным правому краю EditTexts, чтобы он отображался с правой стороны.
Теперь вам нужно назначить свой ImageButton OnCLickListener с помощью переопределенного метода if, чтобы просто установить EditTextsтекст в пустую строку, как это.
EditText editText = null;
ImageButton clear = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.clear);
editText = (EditText) findViewById(R.id.edittext);
clear = (ImageButton) findViewById(R.id.clear);
clear.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
editText.setText("");
}
});
}
Теперь здесь мы просто скажем нашему ImageViews OnClickListener сбросить наш текст EditTexts при щелчке.Просто как тот.;)
Конечно, в моем примере используются не очень эстетичные изображения, но вы можете настроить изображения самостоятельно.Принцип работает.