3

現在押されているボタンのテキストを少しずらしたい。私の場合、ボタンにはカスタムの背景があり、テキストがシフトされるとボタンの見栄えがよくなります。

異なるパディングで2つのNinePath画像を作成しました。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

そして、セレクターを使用してそれらを設定します。

<?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イメージは大丈夫ですか?タッチリスナーを設定せずにテキストをシフトする方法はありますか?

PS同じ質問がすでに出されましたが、「答え」はまさに私が試した解決策です:https ://stackoverflow.com/a/7677098/694770

4

2 に答える 2

1

あなたの 9 パッチ画像は見栄えがします。そうは言っても、まったく同じ問題があり、画像も機能しなかったため、この質問に出くわしました。

私は最終的にサブクラスButton化し、パディングをいじりました。詳細はこちら

于 2012-07-31T20:13:08.633 に答える
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>
于 2012-05-08T13:59:35.793 に答える