2012-08-17 31 views
0

我已經實現了一個自定義微調器,其中沒有初始默認選擇。 NoDefaultSpinner的代碼是從這篇文章https://stackoverflow.com/a/3427058/1257074Android自定義微調器(NoDefaultSpinner)提示從視圖中斷

問題是,如果佈局寬度= wrap_content小於提示文本的寬度,則在xml佈局文件中爲此微調器定義的提示將被截斷。見下文。

NoDefaultSpinner cutoff

一種解決方案是在用於定製微調xml文件只定義一個寬度,但是不幸的是在代碼中動態生成的微調。

有什麼想法或建議嗎?

回答

2

剛剛結束了動態改變寬度:

RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) s1.getLayoutParams(); 
lp.width = 400; 
s1.setLayoutParams(lp); 
0

您可以嘗試在微調器中覆蓋onMeasure(int,int),並帶有一個特殊情況「如果沒有選擇任何東西」來確定其大小。

這或多或少是什麼時,膨脹xml。

+0

你能給這樣一個實現的例子嗎? – Rynardt 2012-08-17 13:10:27

+0

你可以在android網站[這裏]找到一些(http://developer.android.com/guide/topics/ui/custom-components.html)和LabelView類(在API示例代碼中) – Laucia 2012-08-17 14:06:04