在我的应用程序中,我有几个带有小图片的按钮。我已经将它们添加到该按钮与带图像和文字的按钮,放置图像的方式
android:drawableLeft="picture"
现在,如果我的按钮是fill_parent
,画面如左图所示,当然,我的文字居中。现在我的问题是,有什么方法可以将这些图像居中或将它们放在文本旁边吗?
在我的应用程序中,我有几个带有小图片的按钮。我已经将它们添加到该按钮与带图像和文字的按钮,放置图像的方式
android:drawableLeft="picture"
现在,如果我的按钮是fill_parent
,画面如左图所示,当然,我的文字居中。现在我的问题是,有什么方法可以将这些图像居中或将它们放在文本旁边吗?
也许这不是解决问题的最佳方法,但是您是否尝试使用布局而不是按钮。例如,一个LinearLayout包含你想要的所有东西,然后只需添加一个点击监听器,使它像按钮一样工作。希望这可以帮助。
你可以用这个,因为它帮助我
@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);
}
我认为这是一种很难做到这一点,因为我希望用户尽可能立即看到按钮。 – Hannelore 2011-05-03 11:36:58
立即是什么意思?在这里使用布局与使用按钮完全相同,所以不要担心生产力或其他问题。 – Egor 2011-05-04 06:13:48
如果我很好地理解你,你会在LinearLayout上放置一个onClickListener,这会起作用吗?但是布局的外观呢? – Hannelore 2011-05-04 07:19:42