これは私のxmlです
<Android.support.design.widget.TextInputLayout
style="@style/main_input_text"
Android:layout_marginTop="@dimen/activity_medium_margin"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<Android.support.v7.widget.AppCompatEditText
style="@style/main_edit_text"
Android:inputType="text" />
</Android.support.design.widget.TextInputLayout>
そしてこれはスタイルです
<style name="main_input_text">
<item name="Android:layout_width">match_parent</item>
<item name="Android:layout_height">@dimen/activity_edittext_height</item>
<item name="Android:background">@drawable/mc_shape_border_button_transparent</item>
<item name="Android:gravity">center_vertical</item>
<item name="Android:paddingTop">@dimen/activity_extra_small_margin</item>
<item name="Android:paddingBottom">@dimen/activity_extra_small_margin</item>
<item name="Android:keyTextSize">8sp</item>
<item name="Android:textSize">8sp</item>
</style>
HintSize、textSize、keyTextSizeのようなものが助けにならない
Styles.xmlで
<style name="TextLabel" parent="TextAppearance.Design.Hint">
<item name="Android:textSize">16sp</item>
</style>
そして、レイアウトファイルで:
<Android.support.design.widget.TextInputLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginLeft="@dimen/activity_horizontal_margin"
Android:layout_marginRight="@dimen/activity_horizontal_margin"
Android:layout_marginTop="12dp"
app:hintTextAppearance="@style/TextLabel"
Android:minHeight="30dp">
XMLでTextInputLayoutのapp:errorTextAppearance
を変更します。
<Android.support.design.widget.TextInputLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
app:errorTextAppearance="@style/CustomTextInputLayoutStyle.ErrorTextStyle">
CustomTextInputLayoutStyle.ErrorTextStyle
はstyles.xml
で次のように定義されています
<style name="CustomTextInputLayoutStyle.ErrorTextStyle" parent="TextAppearance.Design.Error">
<item name="Android:textSize">10sp</item>
</style>
1)hintTextAppearance
をスタイル付きのInputLayoutに追加します
<Android.support.design.widget.TextInputLayout xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:hintTextAppearance="@style/TextInputLayoutHintText" >
<Android.support.design.widget.TextInputEditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:textSize="16sp" />
</Android.support.design.widget.TextInputLayout>
2)次に、styles.xmlにスタイルを追加します
<style name="TextInputLayoutHintText">
<item name="Android:textColor">@color/gray</item>
<item name="Android:textSize">12sp</item></style>
@SantiagoMartínezの回答は、空でないEdittext
(TextInputLayout
内)のヒントに対してのみ機能します
ただし、空のEdittext
の場合、TextInputLayout
ヒントはEdittext
textSize
からプロパティを取得します。