Настройте EditText на размер шрифта

Мне интересно, как настроить высоту редактируемого текста в соответствии с размером шрифта. Я имею в виду, что editText всегда имеет одинаковую высоту, независимо от того, изменю ли я fontSize на 5sp или оставлю значение по умолчанию. Конечно, я мог бы использовать что-то вроде этого:

<EditText
         android:id="@+id/msgInput"
         android:layout_width="wrap_content"
         android:layout_height="20dp"
         android:inputType="textMultiLine"
         android:textSize="14sp"
         android:hint="@string/hintMsgInput">
</EditText>

, но я также хочу растянуть, если строк больше одной. Как я могу это сделать?

[EDIT]:

Хорошо, я решил это следующим образом:

msgInput = (EditText) findViewById(R.id.msgInput);
        msgInput.addTextChangedListener(new TextWatcher()
        {

            public void afterTextChanged(Editable s) {
                if (msgInput.getLineCount() > 1)
                {
                    msgInput.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
                }
                else
                {
                    int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 40, getResources().getDisplayMetrics());
                    msgInput.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, height));
                }
            }

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {         
            }

            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {         
            }

        });
5
задан Jakub Dyszkiewicz 12 February 2012 в 12:26
поделиться