如何在android中更改EditText提示的字体?

时间:2017-03-31 08:16:01

标签: android xml fonts android-edittext

正如我在问题中提到的,我正在尝试更改EditText中的提示字体。但我似乎无法实现它!

这是我获取用户名的EditText的代码:

<!-- Email Label -->
        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:id="@+id/input_username_id"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="20dp">

            <EditText
                android:id="@+id/input_username"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="@color/white"
                android:textColorHint="@color/white"
                android:hint="@string/hint_username"
                android:layout_marginRight="10dp"
                android:gravity="right" />
        </android.support.design.widget.TextInputLayout>

这是我的java代码:

_usernameText = (EditText) (findViewById(R.id.input_username));
font = Typeface.createFromAsset(getAssets(), "fonts/ir.ttf");
_usernameText.setTypeface(font);

这并没有改变EditText提示的字体。 我尝试了其他解决方案而没有任何改变。 http://chintanrathod.com/customizing-textinputlayout-part-2/

2 个答案:

答案 0 :(得分:6)

<强>唐&#39;吨

  _usernameText = (EditText) (findViewById(R.id.input_username));
 font = Typeface.createFromAsset(getAssets(), "fonts/ir.ttf");
 _usernameText.setTypeface(font);

<强>不要

TextInputLayout   usernameTextObj = (TextInputLayout)    findViewById(R.id.input_username_id));
font = Typeface.createFromAsset(getAssets(), "fonts/ir.ttf");
usernameTextObj .setTypeface(font);

答案 1 :(得分:1)

由于您的EditText包含在 TextInputLayout 中,因此您必须在TextInputLayout对象引用上设置setTypeface