TextInputLayout的材料样式无效。
我在这里遵循了有关材料textinputlayout的文档: https://material.io/develop/android/components/text-input-layout/
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:hint="@string/app_name"
app:boxStrokeColor="@android:color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>
带有gradle:
implementation 'com.google.android.material:material:1.1.0-alpha02'
我希望使用OutlinedBox样式,使布局具有轮廓,但它只会显示纯文本输入。
答案 0 :(得分:1)
看来它不能在预览中工作,我不得不在设备上运行它才能看到真实的输出。感谢@NileshRathod
我希望android可以解决此问题
答案 1 :(得分:1)
将您的 styles.xml
Theme.AppCompat.Light.NoActionBar
更改为 Theme.MaterialComponents.Light.NoActionBar
您可以使用以下代码:
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
答案 2 :(得分:0)
在我的假设中,问题是由于Appcompat主题引起的。您必须将其更改为materialCompontents.DayNight。
将style.xml文件更改为这样,
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
并按如下所示更改您的TextInputLayout代码:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#252734"
android:hint="Enter Name" />
</com.google.android.material.textfield.TextInputLayout>