У меня есть таблица с двумя EditText в первых двух строках и пучок кнопок, работающих как пользовательская клавиатура в других строках. (для простоты просто включен только первый ряд кнопок в xml ниже) Представления EditText устанавливаются как прокручиваемые с помощью android:scrollbars="vertical"
. Когда я нажимаю кнопку на моей пользовательской клавиатуре, я добавляю значение в строку ввода, а затем устанавливаю текст с помощью метода EditText.setText()
. Моя проблема заключается в том, что если текст слишком длинный, он переходит к следующей строке, изменяя размер полного представления EditText. В противном случае, то же самое с клавиатурой Android по умолчанию работает как шарм, переходя на следующую строку без изменения размера и отображения полосы прокрутки справа.
Вот XMLИзменение размера EditText при использовании «setText» вместо ввода клавиатуры
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow
android:id="@+id/tableRow1"
android:layout_weight="3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="0dip">
<EditText
android:layout_weight="1"
android:scrollbars="vertical"
android:layout_height="match_parent"
android:id="@+id/input"
android:layout_span="2"
android:text="Type an expression to begin..." />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_weight="3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="0dip">
<EditText
android:layout_weight="1"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:id="@+id/output"
android:layout_span="2"
android:text="Real time calculation"/>
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF0000" />
<TableRow
android:id="@+id/tableRow3"
android:layout_weight="1"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="0dp" >
<Button
android:layout_width="0dp"
android:minHeight="0dp"
android:minWidth="0dp"
android:background="@drawable/button_custom_bg"
android:layout_weight="1"
android:layout_height="match_parent"
android:id="@+id/button_clear"
android:text="C" />
<Button
android:layout_width="0dp"
android:minHeight="0dp"
android:minWidth="0dp"
android:background="@drawable/button_custom_bg"
android:layout_weight="1"
android:layout_height="match_parent"
android:id="@+id/button_divide"
android:text="/" />
<Button
android:layout_width="0dp"
android:minHeight="0dp"
android:minWidth="0dp"
android:background="@drawable/button_custom_bg"
android:layout_weight="1"
android:layout_height="match_parent"
android:id="@+id/button_multiply"
android:text="*" />
<Button
android:layout_width="0dp"
android:minHeight="0dp"
android:minWidth="0dp"
android:background="@drawable/button_custom_bg"
android:layout_weight="1"
android:layout_height="match_parent"
android:id="@+id/button_delete"
android:text="DEL" />
</TableRow>
</TableLayout>
В чем проблема с методом setText()
? Кроме того, я хочу добавить фоновое изображение на EditText, изменяя его размер, чтобы адаптироваться к представлению без изменения размера EditText.
Любые предложения будут оценены
Добавить желаемое изображение –