Allen Lu~
2015-11-09 06:13
采纳率: 50%
浏览 2.8k
已采纳

小白求RadioButton图片居中方法~大神进来看图

如题图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • sanxiaochengyu 2015-11-09 08:43
    已采纳

    在论坛里面也回复你了

       @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);
        }
    
    
    打赏 评论
  • Dracarys丶 2015-11-09 06:30

    你这个图片里图案不是在正中心吧?用PS加工一下再用

    打赏 评论
  • 暖枫无敌 2015-11-09 06:41

    <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" />
    
    打赏 评论
  • 好的哦 2015-11-09 06:47

    RadioButton不是单选按钮么,还能放图片啊

    打赏 评论
  • ysuwood 2015-11-09 06:58

    哪个是RadioButton?25?要在谁的垂直居中?背景是控件?还是图片?用MFC编程?
    提问题尽量说详细点。

    打赏 评论
  • sinat_28175237 2015-11-09 07:42

    用paddingTop吧

    打赏 评论
  • 一只臭狮子 2015-11-10 01:29

    在input中选择属性padding或者margin 自己设置位移即可

    打赏 评论

相关推荐 更多相似问题