如何在TextInputLayout中添加自定义EditText?

时间:2016-06-21 11:22:48

标签: android fonts

我的问题与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,那么它可以正常工作。我的字体已正确添加到项目主文件夹内的资源文件夹中。

0 个答案:

没有答案