KitKat 中的 Textinputlayout 膨胀异常
Posted
技术标签:
【中文标题】KitKat 中的 Textinputlayout 膨胀异常【英文标题】:Textinputlayout inflate exception in KitKat 【发布时间】:2017-08-05 23:49:11 【问题描述】:这是我的以下代码:
<android.support.design.widget.TextInputLayout
android:layout_
android:layout_
android:layout_marginTop="@dimen/margin_5dp"
android:layout_weight="1"
android:gravity="left"
android:textColor="@color/text_input_layout"
android:textColorHint="@color/text_input_layout"
android:theme="@style/Theme.AppCompat"
app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout">
<EditText
android:layout_
android:layout_
android:layout_gravity="bottom"
android:layout_marginTop="@dimen/margin_5dp"
android:background="@drawable/textview_background"
android:imeOptions="flagNoExtractUi"
android:inputType="textNoSuggestions"
android:maxLength="50"
android:paddingLeft="3dp"
android:textColor="#FFFFFF"
android:textColorHint="@color/black"
android:textCursorDrawable="@drawable/color_cursor"
android:textSize="@dimen/text_size">
<requestFocus />
</EditText>
</android.support.design.widget.TextInputLayout>
已为活动定义的样式。
<style name="MyTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/AppActionBar</item>
<item name="android:textSize">@dimen/text_size</item>
<item name="android:textColor">@color/black</item>
</style>
清单代码:
<activity
android:name=".MyActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/MyActivity"
android:screenOrientation="landscape"
android:windowSoftInputMode="adjustPan|adjustResize"
android:theme="@style/MyTheme" />
我尝试了很多来自 *** 的示例,但在 Android Os KITKAT(API 17) 上不起作用。应用的最低目标是 17。 我只在 Kitkat 上收到以下运行时错误。
android.view.InflateException:二进制 XML 文件第 138 行:膨胀类 android.support.design.widget.TextInputLayout 时出错
如果有人能帮忙提前谢谢。
【问题讨论】:
第 138 行里面有什么,这个错误意味着他不能在这个版本的运行时膨胀视图所以告诉我这行里面有什么 > 第 138 行是代码的第一行。即 尝试删除这一行 app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout" 不,还是同样的问题。可能是因为低于lollypop(5.0)的android os版本不支持布局。 【参考方案1】:如果您不想面对旧版本的麻烦,请确保您不使用任何矢量图像并以旧方式引用它android:src
,改用app:srcCompat
。
使用 appcompat 视图代替旧视图。
使用android.support.v7.widget.AppCompatEditText
而不是EditText
。
将您的支持库更新到最新版本。
更新
确保您的 ActivityName 扩展 AppCompatActivity 而不是 Activity 或 FragmentActivity(顺便说一下,在转换为 AppCompat 视图的运行时使用 AppCompatActivity 时) .
【讨论】:
问题不在于 EditText,而在于 TextInputLayout 在 Lollypop 及以上版本上运行良好。 @MinaFawzy 。可能这条线有问题android:theme="@style/Theme.AppCompat"
另外我没有使用任何矢量图
你用的是activity还是AppCompatActivity
这是我使用的 public class CustomerActivity extends BaseActivity
和 public class BaseActivity extends FragmentActivity
我根本不会更改此代码
改用 Theme.AppCompat.Light以上是关于KitKat 中的 Textinputlayout 膨胀异常的主要内容,如果未能解决你的问题,请参考以下文章
Android - 如何更改 TextInputLayout(材料组件)中的文本颜色?
启用 TextInputLayout = false 后,如何使 TextInputEditText 中的文本变灰?