如何在没有Theme.appcompat

时间:2015-06-26 06:16:52

标签: android

我尝试使用TextInputLayout,但由于缺少样式属性而导致各种错误,因为我的应用主题源自 android:Theme.Material.Light.DarkActionBar 而不是 Theme.appcompat 。如果我从 Theme.appcompat 派生主题,我会失去操作栏,因为我的Activity直接来自原生Activity而不是android.support.v7.app.ActionBarActivity。如果我从ActionBarActivity派生,我会得到旧的支持操作栏,与原生 API 21 操作栏相比,它缺少大量功能。我无法做到这一点。

在一个不依赖于appcompat库的实际Lollipop应用程序中,不能使用TextInputLayout似乎很奇怪。据推测,新设计模块中的其他好东西也无法正常工作。 :-(

在任何情况下,是否有必须在应用主题中定义的样式列表才能在使用 Theme.Material 的活动中使用TextInputLayout?我最终在我的应用主题中添加了大约六到七个颜色声明(例如 android:colorControlActivatedandroid:colorControlHighlightandroid:TextColor和& c),但是膨胀的例外情况仍在继续。

或者是否有人知道提供TextInputLayout的设计库的替代品?或者仅适用于 5.0或5.1 +

非常离奇。材料设计很可爱。但我不知道为什么没有任何本地课程支持材料设计。

1 个答案:

答案 0 :(得分:1)

使用这种类型,它永远不需要Theme.appcompat

<com.google.android.material.textfield.TextInputLayout
                android:id="@+id/tv_metadata_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/tv_metadata_Details"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>
</com.google.android.material.textfield.TextInputLayout>