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

suh*_*_sm 1 android background button nine-patch

我有一个按钮,文本需要水平对齐.当按钮没有9补丁作为背景时,重力工作正常.但是,一旦我添加一个9补丁作为背景,重力向左移动,无论重力设置为何,文本都拒绝让步.

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

有什么投入?

Moh*_*ikh 7

这是因为在9补丁图像中您已分配内容区域(请参见右下角部分).

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

在此输入图像描述


suh*_*_sm 5

每次我以编程方式设置背景后,我必须将填充设置为0!这解决了我的问题.

谢谢