У меня есть 2 EditText (s) в моей деятельности.Один для мобильного нет, а другой для пин-кода нет.Номер мобильного телефона без редактирования имеет тип ввода телефона:
Номер мобильного телефона без редактирования
<android.support.design.widget.TextInputLayout
android:id="@+id/tiMobileNoFirst"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="10dp">
<myPackageName.CustomEditText
android:id="@+id/etMobileNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/mobile_no"
android:inputType="phone"
android:maxLength="12"
android:maxLines="1"
android:textColor="@color/black" />
</android.support.design.widget.TextInputLayout>
, а на выводе отсутствует тип ввода числоПароль:
PIN-код No EditText
<android.support.design.widget.TextInputLayout
android:id="@+id/tiPINFirst"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp">
<myPackageName.CustomEditText
android:id="@+id/etPINFirst"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/pin"
android:inputType="numberPassword"
android:maxLength="4"
android:maxLines="1"
android:textColor="@color/black" />
</android.support.design.widget.TextInputLayout>
мой класс CustomEditText выглядит следующим образом:
public class CustomEditText extends AppCompatEditText {
public CustomEditText(Context context) {
super(context);
EditHelper.setTypeFace(context,this);
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
EditHelper.setTypeFace(context,this);
}
public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
EditHelper.setTypeFace(context,this);
}
}
class EditHelper{
static Typeface typeface;
public static void setTypeFace(Context context, EditText editText){
if(typeface == null){
typeface = Typeface.createFromAsset(context.getAssets(),"fonts/canaro_light.otf");
}
editText.setTypeface(typeface,Typeface.BOLD);
}
}
Применение пользовательского гарнитуры к мобильному устройству не работает, однако при его применении кПин нет, не работает, он возвращается к стандартной гарнитуре Android.
Изменение inputType пина на другое работает, однако мне нужно использовать numberPassword в этой ситуации.
Как мне достичь желаемого результата?