正如我在问题中提到的,我正在尝试更改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);
这并没有改变编辑文本提示的字体。我尝试了其他解决方案,但没有任何变化。http://chintanrathod.com/customizing-textinputlayout-part-2/
不要
_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);
由于您的 EditText 被包装在 TextInputLayout 中,因此您必须在 TextInputLayout 对象引用上设置字体