2013-05-13 308 views
2

我有這樣的代碼:使得TEXTSIZE適應的EditText

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context=".MainActivity" > 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:hint="@string/tip_value" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:hint="@string/tip_value" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:hint="@string/tip_value" /> 

</LinearLayout> 

outcome of code above

我怎樣才能讓TEXTSIZE調整到EditText上的高度?

我的意思是大寫字母跨越編輯文本(這可能是因爲LinearLayout中的不同大小)

提前感謝的整體高度。

回答

0

您需要檢查listView中每個視圖的高度,併爲該特定視圖定義文本大小。爲此,您必須使用自定義適配器在listView中顯示arrayarrayList(或cursor ...)。在getView()下的自定義適配器中,您可以執行convertView.getHeight()以獲得特定視圖的精確高度(以像素爲單位),然後在getView()中爲該視圖設置textView大小。應該是與此類似: (我沒有檢查這個代碼,我正在寫爲你爲例)

public View getView(int position, View convertView, ViewGroup parent) { 
    . 
    . 
    . 
    View line = convertView; 
    float size = line.getHeight(); 
    TextView text = findViewById... 
    text.setTextSize(size-20); 
    return line; 
} 
0

我覺得你的問題是這樣的。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:hint="please Enter" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:hint="please Enter" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:hint="please Enter" /> 
</LinearLayout> 

+0

但我想讓他們 「權重」。跨越整個空間..在你的例子中,我確實需要設置textSize,它不會調整到屏幕上。 – 2013-05-14 18:57:16