在我的應用程序中,我有幾個帶有小圖片的按鈕。我已經將它們添加到該按鈕與帶圖像和文字的按鈕,放置圖像的方式
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