2

ボタンの中央に画像と文字列を配置する必要があります。それらの間にスペースを作成する必要があります。こんにちは (%1$d)

私のコード:

String textValue = getResources().getString(R.string.hello_text);
            final Spannable buttonLabel = new SpannableString(String.format(textValue, 2));
            //buttonLabel.setSpan(new ImageSpan(getApplicationContext(), R.drawable.hello_imagel,
                   // ImageSpan.ALIGN_BOTTOM), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            mButton.setText(buttonLabel);

画像とテキストの間にスペースを空ける必要があります。strings.xml にスペースを入れてみましたが、スペースが表示されません。以下の xml を追加すると、画像が左に、文字列が中央に表示されます。画像と文字列を中央に配置し、画像と文字列の間にスペースをほとんど入れないようにしたい

xml:

android:layout_width="match_parent"
    android:layout_height="48dp"
    android:background="#2A2A2A"
    android:drawableLeft="@drawable/hello_image1"
    android:gravity="center"
4

2 に答える 2

0

文字列内にアイコンを表示する必要がない場合は、ボタンにドローアブルを追加できます。つまり、テキストの左側にあるアイコン:

<Button
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:drawableLeft="@drawable/icon"
     android:drawablePadding="20dp">

@drawable/icon はアイコンで、20dp はアイコンとテキストの間のパディングです

コードから同じことを行うことができます - setCompoundDrawables と setCompoundDrawablePadding を見てください

于 2014-06-18T13:40:58.810 に答える