I am making a small app for a tablet, something like a display sign.
I have a few text elements that are center aligned in the display sign. When I tap on it, it gets converted to editText. I want the edit text in such a way that the text in it is center aligned and content wrapped. But when i input something, editText expands both ways, keeping the text aligned to the center. I want to do the same thing with right aligned text elements (only difference is that the edit text would expand only towards the left).
When i am trying to do this right now it expands towards the left.This is my code for laying out the edit Text element
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);
I am setting the width of the layout as Wrap_content in the layout parameters. I have also specified the x and y in my layout parameters for the top left corner of the edit text.
Is there any way to achieve this ?
To right align text in TextView in Kotlin Android, set android:textAlignment attribute with the value “viewEnd” in layout file, or programmatically set the textAlignment property of the TextView object with View.
Simpler Solution to align text in EditText is to add android:gravity="center" in layout xml. There is no need to add Java code.
To left align the text in this Textview through layout file, set the android:textAlignment attribute for the TextView to “viewStart”, as shown in the following activity_main. xml layout file.
This should resolve your problem:
EditText t = (EditText) findViewById(R.id.text); t.setGravity(Gravity.CENTER);
... in XML:
<EditText android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" />
It makes the EditText inputField entered text centered horizontally.
You can change the layout_width
from fill_parent
to 150 dp or any other size, but not wrap_content
. The text will be centered horizontally.
Set the t.setGravity(Gravity.RIGHT);
or LEFT
, that makes entered text left or right alignment.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With