zoukankan      html  css  js  c++  java
  • TextView控件中使用android:drawableLeft图片和文字使用gravity只能使文字居中,无法使图片随文字同时居中, 让图片随文字同时居中

    1.xml布局

    <com.yld.administrator.DrawableCenterTextView    //包名.DrawableCenterTextView  
    android:text="同意"
    android:background="#00ff00"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:drawableLeft="@mipmap/opendoor9"
    android:layout_margin="5dp" />

    1.DrawableCenterTextView类

    public class DrawableCenterTextView extends android.support.v7.widget.AppCompatTextView{
    public DrawableCenterTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); }
    public DrawableCenterTextView(Context context, AttributeSet attrs) { super(context, attrs); }
    public DrawableCenterTextView(Context context) { super(context); }
    @Override

    protected void onDraw(Canvas canvas) {

    Drawable[] drawables = getCompoundDrawables();

    if (drawables != null) {

    Drawable drawableLeft = drawables[0];

    if (drawableLeft != null) {

    float textWidth = getPaint().measureText(getText().toString());

    int drawablePadding = getCompoundDrawablePadding();

    int drawableWidth = 0;

    drawableWidth = drawableLeft.getIntrinsicWidth();

    float bodyWidth = textWidth + drawableWidth + drawablePadding;

    canvas.translate((getWidth() - bodyWidth) / 2, 0);

    }

    }

    super.onDraw(canvas);

    }
    }

    
    
  • 相关阅读:
    「牛客练习赛53A」超越学姐爱字符串
    「CF52C」Circular RMQ
    「Luogu 2367」语文成绩
    「Luogu 1821」[USACO07FEB]银牛派对Silver Cow Party
    「POJ 3268」Silver Cow Party
    「Luogu 1349」广义斐波那契数列
    「CF630C」Lucky Numbers
    「Luogu 3792」由乃与大母神原型和偶像崇拜
    排序机械臂
    P2587 [ZJOI2008]泡泡堂
  • 原文地址:https://www.cnblogs.com/xiaoshumiao/p/8717591.html
Copyright © 2011-2022 走看看