我正在尝试为提示和文本创建不同的字体样式。与此类似的东西 。
到目前为止我的代码:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/filledTextField2"
style="@style/Widget.TextInputLayout.Primary"
android:layout_width="233dp"
android:layout_height="93dp"
android:layout_marginTop="216dp"
android:hint="FIRST NAME"
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"
android:textAppearance="@style/InputTextFont"
android:textSize="@dimen/text_input_font_size" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
样式.xml
<style name="Widget.TextInputLayout.Primary" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="hintTextAppearance">@style/TextAppearance.App.Caption</item>
<item name="boxStrokeColor">@color/colorPrimary</item>
<item name="android:textColorHint">@color/colorSecondary</item>
<item name="hintTextColor">@color/colorPrimary</item>
<item name="boxStrokeWidth">@dimen/text_input_box_width</item>
</style>
<style name="TextAppearance.App.Caption" parent="TextAppearance.AppCompat.Caption">
<item name="fontFamily">@font/poppins_bold</item>
<item name="android:fontFamily">@font/poppins_bold</item>
<item name="android:textStyle">normal</item>
<item name="android:textAllCaps">true</item>
<item name="android:textSize">15sp</item>
</style>
<style name="InputTextFont" parent = "">
<item name="fontFamily">@font/poppins_regular</item>
<item name="android:fontFamily">@font/poppins_regular</item>
<item name="android:textSize">@dimen/text_input_font_size</item>
</style>
Run Code Online (Sandbox Code Playgroud)
稍微玩了一下代码后,“TextAppearance.App.Caption”中的字体大小似乎可以正常工作,这意味着提示的字体大小可以正确更改,但字体系列却不能。但是,如果我在“TextInputEditText”中使用“android:fontFamily=”@font/poppins_bold”,它会起作用,但提示和文本都会变得相同。
我的问题是如何覆盖它们以使用自定义字体?如果有人帮助我,那将是一个很大的帮助!蒂亚!
android android-layout material-design material-components-android