如何设置浮动标签文本大小?

9
我希望能够在Android材料设计的EditText中更改浮动标签文本大小,当我设置如下时:
<android.support.v7.widget.AppCompatEditText
    android:id="@+id/edt_current"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/str_current"
    android:inputType="number"
    android:singleLine="true"
    android:textSize="20sp" />

这只是更改提示和输入文本的文字大小。

由于浮动标签文本在我的UI中显得太小,我想要更改它,有什么解决方案吗?

3个回答

18

尝试以下代码。这可能会对您有所帮助:

<android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:hintTextAppearance="@style/TextAppearance.AppCompat.Medium.Inverse">

你可以使用 app:hintTextAppearance="@style/TextAppearance.AppCompat.Small.Inverse" 替代。


非常感谢您:)您真的救了我的一天:)我以某种方式使用了您的答案来达到我的目标,但是您的答案点亮了正确的道路:)我将在下面添加我的答案供其他人参考:) - Parissa Kalaee

13

接受的答案对我帮助很大,让我找到了解决方案(即设置确切的字体大小,而不仅仅使用小号、中号等)。

此外,通过为 "app: hintTextAppearance" 定义样式,您还可以轻松地设置浮动标签的颜色 :)

在 styles.xml 中:

<style name="CustomTextAppearance" parent="@android:style/TextAppearance">
    <item name="android:textSize">16sp</item>
    <item name="android:textColor">@color/colorAccent</item>
</style>

在您的TextInputLayout中:

<android.support.design.widget.TextInputLayout
android:id="@+id/lyt_goal"
style="@style/CustomTextInput"
app:hintTextAppearance="@style/CustomTextAppearance">

<android.support.v7.widget.AppCompatEditText
    android:id="@+id/edt_goal"
    android:hint="@string/str_goal" />


1
大小和颜色都可以正常工作,但如果我尝试更改文本样式...什么也不会改变。 - Bajrang Hudda
@BajrangHudda,您想以什么方式更改样式?给我一个例子。因为大小和颜色也是样式的一部分 :-) - Parissa Kalaee
@par4301 那 <item name="android:textStyle">bold</item> 怎么样?它不起作用? - Weiyi
style=@style/CustomEditText 是解决方案的一部分吗?如果是,请发布样式。如果不是,请将其删除以提供更清晰的答案。 - OneWorld

2
尝试以下代码,它在正常状态下有效。
 <android.support.design.widget.TextInputLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:theme="@style/TextLabel">

     <android.support.v7.widget.AppCompatEditText
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:hint="Hiiiii"
         android:id="@+id/edit_id"/>

 </android.support.design.widget.TextInputLayout>

在样式文件夹的文本标签代码中。
 <style name="TextLabel" parent="TextAppearance.AppCompat">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColorHint">@color/Color Name</item> 
    <item name="android:textSize">20sp</item>
    <!-- Label color in TRUE state and bar color FALSE and TRUE State -->
    <item name="colorAccent">@color/Color Name</item>
    <item name="colorControlNormal">@color/Color Name</item>
    <item name="colorControlActivated">@color/Color Name</item>
 </style>

设置为应用程序的主题,仅在高亮状态下起作用。
 <item name="colorAccent">@color/Color Name</item>

希望这能对你有所帮助!

1
仔细阅读 OP 的问题,他/她需要设置浮动标签的大小。 - N J
TextInputLayout 用于浮动标签 @NJ。这就是为什么我提供这个解决方案的原因。希望它有所帮助! - Rahul
谢谢Rahul,我在提问之前就使用过这个方法,但不幸的是,它只改变了提示文本和输入文本的大小,我想要改变浮动标签文本的大小,当它变小并移动到editText的顶部时。 - Parissa Kalaee
如果我只想为EditText中的提示文本设置样式,而不是真正的文本,该怎么办? - Bajrang Hudda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接