Кнопка с изображением и текстом, способы размещения изображения - PullRequest
1 голос
/ 03 мая 2011

В моем приложении у меня есть несколько кнопок с маленькими изображениями.Я добавил их к кнопкам с помощью

android:drawableLeft="picture"

Теперь, если моя кнопка - fill_parent, изображение, конечно же, отображается слева, а мой текст центрируется.Теперь мой вопрос: есть ли способ отцентрировать эти изображения или поместить их рядом с текстом?

Ответы [ 2 ]

1 голос
/ 06 апреля 2012

вы можете использовать это, как это поможет мне

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    // Call here getWidth() and getHeight()
    applyTextOffset(yourButton, yourButton.getWidth(),R.drawable.recents); // where R.drawable.recents is your image which you want to set as background

}

Этот метод, когда вы можете установить свое изображение рядом с вашим текстом

public void applyTextOffset(Button button, int buttonWidth, int image) {
    int textWidth = (int) button.getPaint().measureText(
            button.getText().toString());
    int padding = (buttonWidth / 2)
            - ((textWidth / 2)
                    + ((BitmapDrawable) this.getResources().getDrawable(image)).getBitmap().getWidth());
    button.setPadding(padding, 0, 0, 0);
    button.setCompoundDrawablePadding(-padding);
}
0 голосов
/ 03 мая 2011

Возможно, это не лучший способ решить вашу проблему, но вы пытались работать с макетом вместо кнопки. Например, LinearLayout со всем, что вы хотите в правильном порядке, а затем просто добавьте прослушиватель щелчков, чтобы он работал как кнопка. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...