我想擴展AutoCompleteTextView的UI。功能很好,我需要的只是在右側添加一個按鈕,看起來像一個下拉按鈕。可悲的是AutoCompleteTextView有一個'自然'的邊際,我不能減少到0.擴展視圖的UI
我現在能做什麼? 我必須覆蓋onDraw()& onMeasure()來存檔我的目標(是否有更簡單的方法)?
我想擴展AutoCompleteTextView的UI。功能很好,我需要的只是在右側添加一個按鈕,看起來像一個下拉按鈕。可悲的是AutoCompleteTextView有一個'自然'的邊際,我不能減少到0.擴展視圖的UI
我現在能做什麼? 我必須覆蓋onDraw()& onMeasure()來存檔我的目標(是否有更簡單的方法)?
你可以把兩者AutoCompleteTextView
和按鈕拖到FrameLayout
,添加一些額外的保證金權利AutoCompleteTextView
使FrameLayout
稍大,並對齊按鈕父權。實際上,這兩個視圖會干擾,但對於用戶而言,它們將在沒有任何邊距的情況下出現在另一個旁邊。
另一種選擇可能是將自定義背景設置爲AutoCompleteTextView
(可能是修改了從Android源獲取的原始內容並刪除了邊距)。
只記得你可以提供負利潤率。例如,您可以將兩個視圖都放到LinearLayout
上,並將按鈕的左邊距設置爲-5dp
。但是,您仍然必須爲按鈕提供自定義無邊框背景。
可以使用RelativeLayout
把按鈕的AutoCompleteTextView
樣品
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_close_pressed"
android:layout_alignParentRight="true"
android:id="@+id/myBtn"
></Button>
<AutoCompleteTextView android:id="@+id/myautocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:layout_toLeftOf="@+id/myBtn"
/>
</RelativeLayout>
設置自定義背景右邊是解決我的XML問題( '形狀'有幾個屬性)。 – Klau3 2011-12-28 11:09:36