2013-03-13 176 views
2

我在我的EditText的幾個設備上遇到問題。我有一對EditText在一個活動中。另外,我可以選擇讓用戶調整字體大小。當用戶選擇一個較大的字體,然後回到較小的字體時,EditText的小部件的高度不會縮小以適應較小的字體(額外的填充)。我只在幾臺設備上觀察過這種行爲;大多數工作都很好。有什麼建議?我發現這個,Resizing TextView does not shrink its height on Android 3.1,我認爲這可能是相關的,但添加建議的轉義碼似乎沒有幫助。謝謝!Android EditText/TextView高度調整問題

增加:

<LinearLayout 
     android:id="@+id/linearLayout_message" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_gravity="center_horizontal" 
     android:focusableInTouchMode="true" 
     android:descendantFocusability="beforeDescendants" 
     android:background="@drawable/yellow" > 

     <EditText 
      android:id="@+id/editText_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="0dp" 
      android:layout_marginLeft="8dp" 
      android:layout_marginRight="8dp" 
      android:layout_marginTop="4dp" 
      android:minWidth="@dimen/add_note_min_width" 
      android:textSize="18dip" 
      android:background="#fa0" 
      android:ems="10" 
      android:hint="@string/title" 
      android:inputType="text" 
      android:textStyle="bold" /> 

     <EditText 
      android:id="@+id/editText_body" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:layout_marginBottom="16dp" 
      android:layout_marginLeft="8dp" 
      android:layout_marginRight="8dp" 
      android:layout_marginTop="0dp" 
      android:gravity="top" 
      android:minWidth="@dimen/add_note_min_width" 
      android:minHeight="@dimen/add_note_min_height" 
      android:textSize="18dip" 
      android:background="#af0" 
      android:ems="10" 
      android:hint="@string/body" 
      android:inputType="textMultiLine" /> 
    </LinearLayout> 

這裏是有問題的代碼的XML。正如我上面所說的那樣,我嘗試在文本末尾添加\ u3000,\ u2060和\ u200b轉義字符(獨立地),如提供的鏈接所示。另外,我將底部EditText設置爲1的佈局權重,以嘗試在EditText標題下佔用額外的填充。我已經考慮嘗試手動測量並調整EditText的大小,但這看起來很詭異,特別是因爲這隻影響很少的設備。這似乎是Android的一個實際錯誤,但我無法證實這一點或找到解決方法。

+0

顯示你迄今爲止做了什麼? – 2013-03-13 05:14:21

+0

顯示的東西將成爲你問題的證明。和你試過的東西 – 2013-03-13 05:18:14

+0

發佈你的代碼詳細答案 – DjHacktorReborn 2013-03-13 05:27:21

回答

0

我終於解決了這個問題。正如我鏈接的其他文章中所建議的,一種解決方法是在視圖的文本中添加「\ u3000」,「\ u2060」或「\ u200b」。這適用於TextViews,但我的EditText使用提示時,特殊字符也必須附加到提示(我只附加到文本)。希望這可以幫助別人。