【问题标题】:Overriding Button styling with appcompat V21 theme [duplicate]使用 appcompat V21 主题覆盖按钮样式[重复]
【发布时间】:2014-12-24 23:24:39
【问题描述】:

我现在正在使用 AppCompat.Theme,但希望按钮不会显示为在 v21 设备上运行时显示的全部大写的标题。在 V18 或 19 上运行时,字幕以我的字符串定义中定义的大小写混合显示,但在 5.0 上它们全部大写。

一般来说,我可以通过使用没有任何特定继承的样式来设置按钮的样式(例如使用自定义背景图像)。例如,这是我应用的主题定义:

    <style name="GedStarThemeMisc" parent="Theme.AppCompat">
      <item name="colorPrimary">@color/theme_other_primary</item>
      <item name="colorPrimaryDark">@color/theme_other_primary_dark</item>
      <item name="colorAccent">@color/theme_other_accent</item>
    </style>

这是我在布局中应用于 Button 小部件的典型样式:

    <style name="large_cust_btn">
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_marginTop">2dp</item>
    <item name="android:layout_marginBottom">2dp</item>
    <item name="android:layout_marginLeft">4dp</item>
    <item name="android:layout_marginRight">4dp</item>
    <item name="android:minHeight">10dp</item>
    <item name="android:paddingBottom">6dp</item>
    <item name="android:paddingTop">6dp</item>
    <item name="android:paddingLeft">4dp</item>
    <item name="android:paddingRight">4dp</item>
    <item name="android:textSize">15sp</item>
    <item name="android:capitalize">words</item>
</style>

“capitilize”项目是我试图覆盖明显的 v21 默认值。那么我应该如何让我的特定按钮样式起作用呢?

【问题讨论】:

  • 你的问题已经很详细了。但是自从L出来后,已经被问过很多次了。按钮的所有大写都是 L 默认行为
  • 我现在明白了。我进行了搜索,但我的搜索字词显然不够有创意。

标签: android android-layout


【解决方案1】:

尝试使用

<item name="android:textAllCaps">false</item>

在您的按钮样式中。

【讨论】:

  • 如果您支持 API 10,则不起作用
  • 应该在API22中修复,使用&lt;item name="textAllCaps"&gt;false&lt;/item&gt;不带android前缀。
  • 谢天谢地,我们即将删除 API 10!
猜你喜欢
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多