【问题标题】:How do I apply the style of all TextInputEditText of android application如何应用android应用程序的所有TextInputEditText的样式
【发布时间】:2017-03-31 16:19:49
【问题描述】:

我想设置TextInputEditText 提示的自定义字体大小。我有一种风格,我想将其应用于我的所有TextInputEditText

它不适用于我的TextInputEditText。任何人都可以在我遗漏的地方帮助我吗?

styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.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>

    <style name="Widget.Design.TextInputLayout" parent="AppTheme">
        <item name="hintTextAppearance">@style/AppTheme.TextFloatLabelAppearance</item>
    </style>

    <style name="AppTheme.TextFloatLabelAppearance" parent="TextAppearance.Design.Hint">
        <item name="android:textSize">18sp</item>
    </style>

</resources>

AndroidManifest.xml

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".login.AuthenticationActivity"
        android:label="@string/login_screen_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

layout.xml

<android.support.design.widget.TextInputLayout
    android:id="@+id/access_code_input_layout"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="@+id/guideline"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="@+id/guideline">

    <android.support.design.widget.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/login_participation_access_code"
        android:inputType="textPassword" />

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

【问题讨论】:

  • 我会尝试将更改放入 AppTheme。
  • 刚刚试过,这段代码可以正常工作。问题必须在其他地方
  • @HonzaMusil 是的.. 我想念的东西

标签: android android-view android-resources android-theme android-styles


【解决方案1】:

您可以直接将app:hintTextAppearance 申请到TextInputLayout

<android.support.design.widget.TextInputLayout
    ...
    app:hintTextAppearance="@style/AppTheme.TextFloatLabelAppearance"
    ...
    >

或在AndroidManifest.xml 中更改您的活动或应用程序的主题:

android:theme="@style/Widget.Design.TextInputLayout"

【讨论】:

  • 我无法设置我的应用程序/活动android:theme="@style/Widget.Design.TextInputLayout"。我们可以在 AppTheme 的项目中添加这个吗?如果是那怎么办?
  • Can we add this in item of AppTheme? 什么意思?
  • 赞这个&lt;item name="colorAccent"&gt;@color/colorAccent&lt;/item&gt;
  • 您的 Widget.Design.TextInputLayout 主题完全符合您的要求:它会覆盖 hintTextAppearance
  • 啊,我明白了。我做了这个更改pastebin.com/km2V8si3 它仍然无法正常工作
猜你喜欢
  • 2011-01-25
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 2012-07-08
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 2017-08-28
相关资源
最近更新 更多