EditText Hint doesn't appear in Arabic on Gala

2019-07-04 17:45发布

问题:

I have an arabic hint in which I want to set in EditText that I am using in Dialog... it worked fine for many devices except Galaxy note 1 which has Android ICS.

Note

1 - I converted the language of phone to Arabic so it showed the Arabic hint.

2 - EditText on Activity screens worked fine but on a Dialog it doesn't show the hint in Arabic.

The XML EditText in layout is:

      <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="14dip"
            android:layout_marginRight="14dip"
            android:lines="1"
            android:inputType="textPassword" />

I tried to use,

  android:ellipsize="end"

and

  android:ellipsize="start"

and

  android:singleLine="true"

and

  android:layout_gravity="" //top, center, right, left

But nothing solved the issue.

Anybody got the solution?

回答1:

just try to insert this Unicode "\u0020" before your string and it will work.



回答2:

I too have issues with Arabic hint and 4.0 devices. problem was inputType and single line attributes. You have to remove android:lines="1" and add key listener in code.

I solved by,

           <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="3dp"
            android:background="@drawable/bg_text_field"
            android:gravity="right"
            android:padding="5dip" >

            <EditText
                android:id="@+id/et_email"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@android:color/transparent"
                android:cursorVisible="true"
                android:gravity="right"
                android:hint="@string/hint_email"
                android:imeOptions="actionNext"
                android:inputType="textEmailAddress"
                android:maxLength="255"
                android:textColor="@android:color/black"
                android:textSize="20sp"
                android:padding="@dimen/edittext_padding">
            </EditText>
        </TableRow>

and in code...

et_email.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event)
        {

            if (event.getAction() == KeyEvent.ACTION_DOWN
                    && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
            {
                et_email.clearFocus();
                et_phno.requestFocus();
                return true;
            } 

            return false;
        }
    });