【发布时间】:2011-02-16 07:41:06
【问题描述】:
我设置了一个简单的按钮,其背景图像定义如下
android:background="?attr/button"
?attr/button 是对简单 9-patch 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 作为背景,它也没有改变任何东西。
【问题讨论】:
标签: android text button alignment