如何在当前按下的按钮上移动文本?

3
我想把当前按下的按钮上的文字稍微移动一下。在我的情况下,这个按钮有自定义的背景,如果文本被移动,按钮将显得更漂亮。
我制作了两个带有不同填充的NinePath图像: enter image description here enter image description here 然后使用选择器设置它们:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/btn"/>

</selector>

当按下按钮时,文本仍然停留在原地(并且背景已经切换),这不起作用。

我的NinePath图片没问题吗?有没有方法可以在不设置触摸侦听器的情况下移动文本?

P.S. 已经有人问过同样的问题,但“答案”正是我尝试的解决方案:https://dev59.com/kWsz5IYBdhLWcg3wxat3#7677098

2个回答

1

你的9-patch图片看起来很好。话虽如此,我遇到了完全相同的问题,我的图片也无法正常工作。

最终,我通过子类化Button并调整填充来解决了这个问题。更多信息在这里


0

试试这个

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:text="Pressed state text" android:state_pressed="true"/>
    <item android:text="Default text"/>

</selector>

它会引发异常,因为您必须指定可绘制项。但即使已定义,文本也不会更改。我认为选择器仅适用于可绘制项。 - Andrej

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接