Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

setTextAlignment() & setGravity() is not working dynamically

Note : It is not a duplicate question, looking for suggest.

I have a EditText, where the EditText should have to align its text based on user request on click of Right Alignment button, Center Alignment Button & Left Alignment Button.

When I click on the alignment button, It is not getting effected to EditText.

i have used setTextAlignment() & setGravity(). both are not working in my scenario.

enter image description here

XML

<LinearLayout
            android:gravity="center"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@id/spacing_container"
            android:layout_below="@id/cont"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp"
            android:background="@drawable/rectangle"
            android:padding="10dp">

            <EditText
                android:text="HINT"
                android:id="@+id/text_input_ID"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/holo_green_light"
                android:textAlignment="center"
                android:textSize="30sp" />
        </LinearLayout>

Alignment Container XML

<LinearLayout
                android:id="@+id/text_alignment_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:baselineAligned="false"
                android:gravity="center"
                orientation="horizontal"
                android:visibility="gone">

                    <ImageView
                        android:id="@+id/text_align_left_ID"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:contentDescription="@string/align_left"
                        android:src="@drawable/align_left" />

                    <ImageView
                       android:id="@+id/text_align_center_ID"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:contentDescription="@string/align_center"
                        android:src="@drawable/align_center" />

                    <ImageView
                        android:id="@+id/text_align_right_ID"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:contentDescription="@string/align_right"
                        android:src="@drawable/align_right" />
            </LinearLayout>

onClickListerner

switch(v.getId){

    case R.id.text_align_left_ID :
          text_input.setTextAlignment(View.TEXT_ALIGNMENT_TEXT_START);
          break;
    case R.id.text_align_center_ID :
          text_input.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
          break;
    case R.id.text_align_right_ID :
          text_input.setTextAlignment(View.TEXT_ALIGNMENT_TEXT_END);
          break;
}
like image 344
Chethan Kumar Avatar asked May 23 '26 02:05

Chethan Kumar


1 Answers

try this

switch(v.getId){
    case R.id.text_align_left_ID :
          text_input.setGravity(Gravity.LEFT);
          break;
    case R.id.text_align_center_ID :
          text_input.setGravity(Gravity.CENTER);
          break;
    case R.id.text_align_right_ID :
          text_input.setGravity(Gravity.RIGHT);
          break;
}
like image 162
Vinay Rathod Avatar answered May 24 '26 17:05

Vinay Rathod



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!