【发布时间】:2016-02-03 14:18:56
【问题描述】:
我正在尝试通过样式更改警报对话框中消息的字体大小,但无法使其正常工作。有很多答案描述了如何做到这一点,但我发现几乎所有答案都是以编程方式完成的。我想在样式中执行一次,而不是在每个新的警报对话框中执行一次。
到目前为止我做了什么:
在\AndroidSDK\platforms\android-23\data\res\layout\alert_dialog.xml 中,我看到了显示消息的 TextView:
<TextView android:id="@+id/message"
style="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dip" />
在\AndroidSDK\platforms\android-23\data\res\values\themes.xml我看到textAppearanceMedium属性的值为@style/TextAppearance.Medium。
我创建了一个父样式为TextAppearance.AppCompat.Medium 的样式。然后将此样式应用于 AlertDialog 样式的android:textAppearanceMedium 属性,如下所示:
<style name="Theme.My" parent="Theme.AppCompat.Light.NoActionBar.FullScreen">
<item name="android:alertDialogTheme">@style/Theme.My.AlertDialog</item>
</style>
<style name="Theme.My.AlertDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:textAppearanceMedium">@style/MyTextAppearanceMedium</item>
</style>
<style name="MyTextAppearanceMedium" parent="TextAppearance.AppCompat.Medium">
<item name="android:textSize">24sp</item>
</style>
...但字体大小不会改变。怎么了?
我正在使用 AppCompat 支持库,最低 SDK 16,目标 SDK 23。
谢谢。
【问题讨论】:
标签: android android-alertdialog android-theme android-styles