在尝试为Android使用新的TextInputField
时发生崩溃,并希望分享我的解决方案。
在android appcompat库中尝试新的TextInputField会使我的应用程序崩溃。这是我的布局xml。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="e-mail"
android:inputType="textEmailAddress"
android:singleLine="true"/>
</android.support.design.widget.TextInputLayout>
我的错误是:
android.view.InflateException: Binary XML file line #20: Error inflating class android.support.design.widget.TextInputLayout.
解决方案:将hintTextAppearance
属性添加到TextInputLayout
,使lead标签如下所示:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@android:style/TextAppearance.Medium">
在adroidx中它对我有效我有图书馆
implementation 'com.android.support:appcompat-v7:28.0.0'
//design widget
implementation 'com.android.support:design:28.0.0'
我改变
<android.support.design.widget.TextInputLayout
为
<com.google.android.material.textfield.TextInputLayout
这也发生在我身上,我想出了一个解决方案,不需要更改应用程序主题,只需要更改TextInputLayout的主题:
<android.support.design.widget.TextInputLayout
android:id="@+id/testingInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.AppCompat">
<EditText
android:id="@+id/testingEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/testText"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
如果尚未添加appCompat库,则需要添加:
compile 'com.android.support:appcompat-v7:23.0.1'
确保gradle文件中有以下依赖项:
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:design:22.2.0'
工作示例:
<android.support.design.widget.TextInputLayout
android:id="@+id/txtEmail_InpLyt"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/txtEmail"
android:hint="Email Address"
android:singleLine="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"/>
</android.support.design.widget.TextInputLayout>
(无需设置hintTextAppearance
。)
更新:
如果您遇到提示文本未出现在较新版本的Android(Marshmallow/牛轧糖)中的问题,请将库更新到22.2.1版(请参阅TextInputLayout在用户关注之前未显示EditText提示)。
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
我正在尝试嵌入浮动操作按钮。下面是我的xml文件 问题是Im会收到以下错误消息, Android.View.InflateException:二进制XML文件行#300:在Android.View.LayoutInflater.CreateView(LayoutInflater.CreateViewFromTag(LayoutInflater.java:702)在Android.View.Layo
这是我的activity_login:
是否有一个隐藏在Internet中的ByteBuffers方面的gzip放气库?允许我们推送原始数据然后提取放气数据的东西?我们已经搜索过了,但只找到了处理InputStreams和OutputStreams的库。 我们的任务是创建gzip过滤器,用于在管道架构中减少字节缓冲流。这是一个pull架构,其中最后一个元素从早期元素中提取数据。我们的gzip过滤器处理字节缓冲流,没有单个流对象可用。 我
我有一个非常令人沮丧的错误,我无法解释。我创建了一个Android应用程序,使用Android AppCompat使其与旧版本兼容。这是我的主要活动布局文件:{Androidx}。 这是我的java文件: 这是我的xml文件: 这是我的gradle文件 }gradle文件中的依赖项 } 主要问题是我的应用程序说,不幸的是,应用程序已经停止。以下是“运行”选项卡中的详细信息 D/skia:-缩放位图