著论准过秦,作赋拟子虚。这篇文章主要讲述AppCompatActivity的按钮文本的字体样式已更改相关的知识,希望能为你提供帮助。
将我的活动的父级从Activity
更改为AppCompatActivity
后,按钮上的字体发生了变化。例如,Remove
->
REMOVE
。对于其他Vews
,字体没有改变。
为什么按钮上的字体会发生变化,如何恢复原始字体?
按钮:
<
Button
android:id="@+id/buttonAddProduct"
tools:text="Remove"
android:layout_width="match_parent"
android:textSize="13dp"
android:layout_weight="1"
style="@style/btns_blue_big" />
样式:
<
style name="btns_text_big">
<
item name="android:textSize">
@dimen/text_size_big<
/item>
<
item name="android:textColor">
@color/colorMainWhite<
/item>
<
/style>
<
style name="btns_lo_big" parent="btns_text_big">
<
item name="android:layout_width">
fill_parent<
/item>
<
item name="android:layout_height">
48dp<
/item>
<
/style>
<
style name="btns_blue_big" parent="btns_lo_big">
<
item name="android:background">
@drawable/button_dialog_positive_shape<
/item>
<
/style>
答案由于Google的Material Design主题,这种变化发生了。
基本上,当您将
Activity
更改为AppCompatActivity
时,您还需要更改应用程序的主题以从Theme.AppCompat
扩展。此更改会使每个视图的设计与主题相匹配。以下是
Holo
主题和AppCompat
主题之间的示例:文章图片
文章图片
正如您所看到的,
AppCompat
主题中按钮的默认实现使用全部大写,因此您需要更改它们。一个简单的解决方法是在你的样式xml中添加这些:
<
style name="MyAppTheme" parent="Theme.AppCompat">
<
item name="buttonStyle">
@style/MyAppTheme.Button<
/item>
<
item name="android:buttonStyle">
@style/MyAppTheme.Button<
/item>
<
/style>
<
style name="MyAppTheme.Button" parent="Base.Widget.AppCompat.Button">
<
item name="android:textAllCaps">
false<
/item>
<
/style>
另一答案在AppcompatActivity中,默认情况下按钮文本设置为大写。我不知道为什么。但是如果要在xml中为该按钮禁用它,请设置
android:textAllCaps="false"
【AppCompatActivity的按钮文本的字体样式已更改】以编程方式:
button.setTransformationMethod(null);
另一答案使用Material(或DeviceDefault with API 21+)主题时,按钮文本默认为全大写。这是按预期工作的。如果您不想要,可以在您的风格中使用以下属性
<
item name="android:textAllCaps">
false<
/item>
<
item name="textAllCaps">
false<
/item>
参考文献是Why is my Button text forced to ALL CAPS on Lollipop?
推荐阅读
- android(fontFamily的有效值以及它们映射到的内容())
- 如何在Android中以编程方式向影像添加阴影( [重复])
- FFMPEG命令在设置项目的目标SDK版本29(Android Q问题)时不起作用
- Flutter Web和Firebase身份验证TypeError(无法读取未定义的属性'app')
- 如何在WordPress网站上收集访问者的反馈()
- Cloud Flare SSL破解WordPress和Joomla以及如何修复
- 如何通过Google Cloud Storage服务WordPress媒体()
- 12个WordPress简历主题以创造最佳印象
- 14个无需插件即可完成的WordPress性能优化