我已將我的按鈕寬度設置爲fill_parent
。如何在按鈕的中心設置圖片和文字
so是否可以設置按鈕中心的圖像和文本。
存在對drawable_Left
選項,但按鈕的左邊對齊圖像...
我想是這樣的。
.... [image] [text] .... |
感謝:使用android:drawableTop=""
的按鈕,然後設置圖像先設置背景,然後通過android:text=""
我已將我的按鈕寬度設置爲fill_parent
。如何在按鈕的中心設置圖片和文字
so是否可以設置按鈕中心的圖像和文本。
存在對drawable_Left
選項,但按鈕的左邊對齊圖像...
我想是這樣的。
.... [image] [text] .... |
感謝:使用android:drawableTop=""
的按鈕,然後設置圖像先設置背景,然後通過android:text=""
使用android:gravity="center_vertical"
試試這個gravity
至center
然後使用drawable_Left
。
先給設置文本:在你的佈局
你,你應該使用吹代碼讓你的問題的解決相對佈局把它放在你的XML文件
android:layout_centerHorizontal ="true"
<Button android:text="Button" android:id="@+id/button1"
android:layout_height="wrap_content" android:background="@drawable/icon"
android:layout_width="200dp" android:gravity="center"></Button>
希望它能幫助;
下面是一個效用函數中心內部左側圖像和文本Button
:
public static void centerImageAndTextInButton(Button button) {
Rect textBounds = new Rect();
//Get text bounds
CharSequence text = button.getText();
if (text != null && text.length() > 0) {
TextPaint textPaint = button.getPaint();
textPaint.getTextBounds(text.toString(), 0, text.length(), textBounds);
}
//Set left drawable bounds
Drawable leftDrawable = button.getCompoundDrawables()[0];
if (leftDrawable != null) {
Rect leftBounds = leftDrawable.copyBounds();
int width = button.getWidth() - (button.getPaddingLeft() + button.getPaddingRight());
int leftOffset = (width - (textBounds.width() + leftBounds.width()) - button.getCompoundDrawablePadding())/2 - button.getCompoundDrawablePadding();
leftBounds.offset(leftOffset, 0);
leftDrawable.setBounds(leftBounds);
}
}
它使用Button
的寬度進行計算,所以你必須與要調用此檢查在正確的地方。也就是說,寬度應該不是零。例如,如果您想在onCreate
中使用它,請使用button.getViewTreeObserver().addOnGlobalLayoutListener(...call it onGlobalLayout...)
。
使用drawable_Left後,您可以設置填充 – Lavanya 2011-05-19 09:30:35