2010-10-27 42 views

回答

6

是的,有一種方法來實現這一目標。

定義一個像這樣的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文字復位。就那麼簡單。 ;)

當然我的例子使用不是很美觀的圖像,但你可以自己微調圖像。原理起作用。

+0

它真的工作很適合我 – 2010-10-27 12:57:23