2009-09-01 42 views
15

如何使android editText的高度比默認值小?如何使android editText的高度比默認值小?

如果我改變高度,我看不到我的文本,但它底部有額外的空白。

+1

'這個問題是不太可能有幫助的任何未來visitors',對,沒錯!有超過4萬次訪問。 – 2014-12-06 23:41:04

+0

關閉的原因絕對不對,但我仍希望看到一個示例,說明期望的行爲是什麼以及當前的行爲是什麼,可能是截圖。也許多年來,提問的標準也得到了改善。 – Trilarion 2015-02-18 09:14:26

回答

24

EditText有一個默認的填充集。

試試這個,

<EditText 
    android:text="Any Text" 
    android:layout_width="fill_parent" 
    android:layout_height="16dp" 
    android:padding="2dp" 
    android:background="#FFF" 
    android:textSize="10dp" 
/> 
+1

這實際上使edittext更小,但是當我點擊它時,中間會出現一條橙色的線條。 – Jacky 2009-09-04 04:34:15

+0

@Jacky:可以通過添加背景來處理。 嘗試使用屬性 - android:background =「#FFF」最佳 - 指定一個基於xml的可繪製背景,可處理所有狀態(如焦點) – bhatt4982 2009-09-04 05:12:47

+1

這似乎相當黑。首先,你應該使用sp測量來設置textSize,而不是dp。 – 2011-04-21 23:27:24

3

是否可以明確設置高度?

如果是的話,使用類似

<EditText 
    android:id="@+id/smallEditText" 
    android:layout_width="wrap_content" 
    android:layout_height="10dip"/> 

可以減小字體大小,通過XML使用android:textSize。你也可以讓你的控件可以滾動。

編輯:剛纔看到了你的截圖,你把EditText放在哪個佈局中?它可能會爲您的控件設置非顯式佈局規則。

+0

我使用LinerLayout,實際上讓我的文字字體變小不會解決問題 – Jacky 2009-09-01 09:59:29

7

我是不是真的不滿意任何答案存在的,雖然當他們結合大多包含正確解決方案的所有成分。但是,我們先來確定問題所在。問題是bhatt4982說填充,他提供了一個解決方案。設置填充任何你想要的。如果你也希望有一個較小的字體做類似learn_andrd暗示或像這樣

style="@android:style/TextAppearance.Small.Inverse" 

現在,的EditText元素的寬度是正確的,字體大小相匹配,你的定期的TextView的。然而,由於淺灰色在白色背景上看起來不太好,所以顏色是相反的。這就把我們帶到了我們最後的問題,即背景。您需要設置不同的背景,因爲默認的EditText背景具有最小高度。該高度是元素當前高度的高度。 AFAIK Android不支持縮小背景圖像。您應該爲EditText定義自己的背景Drawable,允許高度比默認值更小。否則,無論您嘗試設置高度或填充物還是馬林,它都不會產生任何影響。

P.S.你可能想知道爲什麼他們讓你創建更小的EditViews變得如此困難......或許這與事實有關,即使是這樣,使用你的手指將光標移動到特定在EditText中的位置(比如修復一個錯字而不刪除所有內容)元素。如果你的文字更小,這將變得不可能。因此,你應該重新考慮一下,你想要達到什麼目的,真的值得追求,除非你只是想減少填充。

0

變化的XML編輯短信這兩個屬性

android:layout_height="15dp" 
android:textSize="12sp"