问题描述
解决方案
在论坛里面也回复你了
@Override
protected void onDraw(Canvas canvas) {
Drawable[] drawables = getCompoundDrawables();
if (drawables != null) {
Drawable drawableTop = drawables[1];
if (drawableTop != null) {
float textHeight=measureHeight(getText().toString());
int drawablePadding = getCompoundDrawablePadding();
int drawableHeight = drawableTop.getIntrinsicHeight();
float bodyHeight = textHeight + drawableHeight + drawablePadding;
setPadding(0, (int)(getHeight() - bodyHeight), 0, 0);
canvas.translate(0, 0-(getHeight() - bodyHeight) / 2);
}
}
super.onDraw(canvas);
}
//获取文本高度
public int measureHeight(String text) {
// Rect result = new Rect();
// // Measure the text rectangle to get the height
// getPaint().getTextBounds(text, 0, text.length(), result);
// return result.height();
Paint.FontMetrics fontMetrics= getPaint().getFontMetrics();
return (int)(fontMetrics.descent-fontMetrics.ascent+ fontMetrics.leading);
}
解决方案二:
<RadioButton
android:id="@+id/myid"
style="@style/tab_bottom"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/tab_style"
android:drawableTop="@drawable/rest"
android:text="@string/restaurant" />
解决方案三:
你这个图片里图案不是在正中心吧?用PS加工一下再用
解决方案四:
RadioButton不是单选按钮么,还能放图片啊
解决方案五:
哪个是RadioButton?25?要在谁的垂直居中?背景是控件?还是图片?用MFC编程?
提问题尽量说详细点。
解决方案六:
用paddingTop吧
解决方案七:
在input中选择属性padding或者margin 自己设置位移即可
时间: 2024-10-24 17:21:16