android - 添加 9-patch 作为按钮背景后无法对齐文本

标签 android button background nine-patch

我有一个按钮,其上的文本需要水平居中对齐。当按钮没有 9 Patch 作为背景时,Gravity 工作正常。但是一旦我添加一个 9 补丁作为背景,重力就会向左移动,并且无论重力设置成什么,文本都不会移动。

我已经尝试按照其他一些线程的建议将填充设置为 0dip、-1px、@null。他们都没有工作。我正在使用 setBackgroundResource() 从代码中更改背景,因为我的要求被固定到 API 级别 8,所以其他设置背景的方法不是一个选项。我也不能使用选择器列表来执行此操作,因为我需要该按钮处于选中状态(如切换按钮)。

任何输入?

最佳答案

这是因为在您的 9 补丁图像中您分配了内容区域(见右下部分)。

通常右侧和底部部分用于内容填充(可选)因此如果您想通过编程设置填充然后不要操作 9 补丁的底部和右侧区域。

enter image description here

关于android - 添加 9-patch 作为按钮背景后无法对齐文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13244501/

相关文章:

android - 如何在对话框中显示编辑文本、 ListView 和正负按钮?

swift - 我想在按钮上使用 bool,如果我单击 imageview 的按钮图像已更改,如果再次单击按钮,则使用 Swift 反转图像

Android FragmentManager beginTransaction.add 添加 fragment 到隐藏容器

android - 如何链接 cpufeatures lib 以获取 native android 库?

android - Android应用程序中多个用户的应用内计费

cocoa touch : animate button on touch

Android 慢 GridView

css - 使按钮文本透明以显示其背后的动画渐变

android - 带有椭圆形角的自动完成 TextView

java - 如果使用RelativeLayout则未设置背景图像