gpt4 book ai didi

android - 如何垂直对齐带有可绘制背景的按钮中的文本?

转载 作者:太空狗 更新时间:2023-10-29 13:43:35 24 4
gpt4 key购买 nike

我设置了一个简单的按钮,背景图片定义如下

android:background="?attr/button"

其中 ?attr/button 是对简单的 9 补丁 png 的引用。一切正常,按钮中的文本正确对齐。

然后我需要为按钮的按下状态设置不同的背景。所以我把它改成了

android:background="@drawable/state_button"

其中 @drawable/state_button 是具有以下状态的 xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_pressed" /> <!-- focused -->
<item android:drawable="@drawable/button" /> <!-- default -->
</selector>

之后我无法正确对齐文本。如果我将 android:gravity="center_vertical" 文本从顶部绘制到按钮高度的 1/4 左右。

我仔细检查了我的 9 补丁图像,它们看起来一切正常。我也尝试过使用常规的 png 作为背景,它也没有改变任何东西。

最佳答案

您应该仔细检查您正在使用的 9 个补丁可绘制对象。标准的 Android 按钮在按钮的顶部和底部包含大量填充,使文本看起来总是居中。您可以通过打开 9 补丁文件,仔细放大并查看左侧/顶部和右侧/底部像素之间的差异来看到这一点。左侧/顶部标记图像的哪些部分可以拉伸(stretch)以容纳更多文本,而右侧/底部标记实际将被文本填充的空间。因此,右侧/底部和左侧/顶部之间的差异将是填充。起初它不太明白,但在玩弄它之后它并没有那么糟糕。

如果您不熟悉它,编辑 9patches 的有用工具是 SDK 工具文件夹中的 draw9patch.bat 程序。

关于android - 如何垂直对齐带有可绘制背景的按钮中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com