Android 添加9-patch作为按钮背景后无法对齐文本
我有一个按钮,上面的文字需要在中心水平对齐。当按钮没有9面片作为背景时,重力可以正常工作。但当我添加一个9块作为背景时,重力就向左移动,文本拒绝移动,无论重力设置为什么 我已尝试将padding设置为0dip,-1px,@null,正如在其他一些线程上建议的那样。他们都没有工作。我正在使用setBackgroundResource()从代码中更改背景,因为我的需求被固定到API级别8,所以设置背景的其他方法不是一个选项。此外,我不能使用选择器列表来执行此操作,因为我需要该按钮处于选中状态(如切换按钮)Android 添加9-patch作为按钮背景后无法对齐文本,android,button,background,nine-patch,Android,Button,Background,Nine Patch,我有一个按钮,上面的文字需要在中心水平对齐。当按钮没有9面片作为背景时,重力可以正常工作。但当我添加一个9块作为背景时,重力就向左移动,文本拒绝移动,无论重力设置为什么 我已尝试将padding设置为0dip,-1px,@null,正如在其他一些线程上建议的那样。他们都没有工作。我正在使用setBackgroundResource()从代码中更改背景,因为我的需求被固定到API级别8,所以设置背景的其他方法不是一个选项。此外,我不能使用选择器列表来执行此操作,因为我需要该按钮处于选中状态(如切换
有什么意见吗 这是因为在9-patch图像中,您已指定了内容区域(请参见右下部分) 通常,右下部分用于内容填充(可选),所以如果您想通过编程设置填充,则不要操纵9补丁的右下部分
这是因为在9-patch图像中,您已指定了内容区域(请参见右下部分) 通常,右下部分用于内容填充(可选),所以如果您想通过编程设置填充,则不要操纵9补丁的右下部分
每次设置背景后,我都必须以编程方式将填充设置为0!这解决了我的问题
谢谢每次设置背景后,我都必须以编程方式将填充设置为0!这解决了我的问题
谢谢以下是解决此问题的另一种方法:
它使用带有9补丁背景的
RelativeLayout
,并将TextView
放入其中。然后,您可以根据需要格式化和对齐文本,而无需中断9-patch marigins和填充。下面是解决此问题的另一种方法:
它使用带有9补丁背景的
RelativeLayout
,并将TextView
放入其中。然后,您可以随心所欲地格式化和对齐文本,而无需中断9-patch marigins和padding。将android:padding=“0dp”
添加到按钮中对我来说很有效。添加android:padding=“0dp”
到按钮
对我很有效。检查并为该按钮背景的每个状态分配9-patch图像内容区域
我曾经忘记为按钮的按下状态设置9-patch图像内容区域,这会在正常状态下导致有线填充行为。检查并为按钮背景的每个状态分配9-patch图像内容区域
我曾经忘记为按钮的按下状态设置9-patch图像内容区域,这会在正常状态下导致有线填充行为。听起来发布9-patch不是一个坏主意,或者至少显示一个屏幕截图。听起来发布9-patch也不是一个坏主意,或者至少显示一个屏幕截图,我会验证这一点。感谢您的直观解释。根据此链接,它用于指示填充区域。这让人困惑。链接信息也是正确的,但它们使用了不同的术语。我将对此进行验证。感谢您的直观解释。根据此链接,它用于指示填充区域。链接信息也是正确的,但它们使用了不同的术语。