我的问题与How to set custom fonts on EditText Android不重复。我的个人资料不同。我成功地在edittext&中设置了自定义字体。 Textview,但我无法在TextInputLayout中设置我的customEditText。
我正在尝试在我的项目中设置Custom EditText,TextView。
以下代码正常,
<android.support.design.widget.TextInputLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
....
>
<android.support.v7.widget.AppCompatEditText
android:id="@+id/edtUserID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter Mobile Number"
android:inputType="phone"
android:maxLength="15"
android:maxLines="1"
android:minLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
现在我已经自定义了编辑文本并添加如下,
<android.support.design.widget.TextInputLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
....
>
<com.custom.CustomEditText
android:id="@+id/edtUserID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter Mobile Number"
android:inputType="phone"
android:maxLength="15"
android:maxLines="1"
android:minLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
我的CustomEditText&#39代码snipet,
private void init(Context context) {
Typeface typeface = Typeface.createFromAsset(context.getAssets(), "arial.ttf");
this.setTypeface(typeface);
}
当我运行此代码时,它会给我以下错误,
Caused by: java.lang.RuntimeException: Font asset not found arial.ttf
at android.graphics.Typeface.createFromAsset(Typeface.java:190)
at com.custom.CustomEditText.init(CustomEditText.java:34)
at com.custom.CustomEditText.<init>(CustomEditText.java:25)
at java.lang.reflect.Constructor.newInstance(Native Method)
如果我在没有TextInputLayout的情况下使用CustomEditText,那么它可以正常工作。我的字体已正确添加到项目主文件夹内的资源文件夹中。