Android Изменить выравнивание текста
Я делаю небольшое приложение для планшета, что-то вроде знака дисплея.
У меня есть несколько текстовых элементов, которые выравниваются по центру в знаке дисплея. Когда я нажимаю на него, он преобразуется в editText. Я хочу редактировать текст таким образом, чтобы текст в нем был выровнен по центру и обернут содержимым. Но когда я что-то вводил, editText расширяется в обоих направлениях, сохраняя текст в центре. Я хочу сделать то же самое с правыми выровненными текстовыми элементами (разница только в том, что текст редактирования будет расширяться только влево).
Когда я пытаюсь сделать это прямо сейчас, он расширяется влево. Это мой код для выделения элемента редактирования Text
tempView=new EditText(this);
((EditText) tempView).setTextSize(shrinkedFontSize);
((EditText) tempView).setTypeface(tf);
((EditText) tempView).setText(tempInput.getText());
((EditText) tempView).setGravity(Gravity.CENTER);
layout.addView(tempView, tempParams);
Я устанавливаю ширину макета как Wrap_content в параметрах макета. Я также указал x и y в моих параметрах макета для верхнего левого угла текста редактирования.
Есть ли способ достичь этого?
Ответы
Ответ 1
Это должно решить вашу проблему:
EditText t = (EditText) findViewById(R.id.text);
t.setGravity(Gravity.CENTER);
... в XML:
<EditText
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text" />
Это делает входной текст EditText inputField в горизонтальном направлении.
Вы можете изменить layout_width
с fill_parent
на 150 dp или любой другой размер, но не wrap_content
. Текст будет расположен по горизонтали.
Установите t.setGravity(Gravity.RIGHT);
или LEFT
, который введет текст влево или вправо.
Ответ 2
Это проверенное более простое решение. Просто добавьте android:gravity="center"
в XML файл макета, чтобы выровнять текст в центр EditText. Нет необходимости изменять код Java.
<EditText
android:id="@+id/LastName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/back"
android:inputType="numberDecimal"
android:gravity="center" />