android自定义控件Button 带图片文字

来源:互联网 发布:腾讯 php招聘 知乎 编辑:程序博客网 时间:2024/04/28 09:57
XML 文件 Button 自定义mybutton
<com.example.administrator.findyou.mybutton            android:layout_width="match_parent"            android:layout_height="60dp"            my:image="@drawable/b_onekey"            android:text="短信监听"            />
attrs文件
<?xml version="1.0" encoding="utf-8"?><resources>    <declare-styleable name="my">        <attr name="image" format="reference" />    </declare-styleable></resources>

mybutton   java实现

public class mybutton extends Button {    private Drawable drawable;    private float drawable_w;    private float drawable_h;    private int b;    public mybutton(Context context, AttributeSet attributes){        super(context,attributes);        TypedArray a=context.obtainStyledAttributes(attributes,R.styleable.my);/*读取自定义按键布局*/        drawable= a.getDrawable(R.styleable.my_image);/* 读写图片*/        /*图片长宽*/        drawable_h=drawable.getIntrinsicHeight();        drawable_w=drawable.getIntrinsicWidth();    }    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){        super.onMeasure(widthMeasureSpec, heightMeasureSpec);        /*控件整体高*/       b = MeasureSpec.getSize(heightMeasureSpec);    }    protected void onDraw(Canvas canvas){        super.onDraw(canvas);        /*实现图形缩放*/        drawable.setBounds(10,10,(int)((b-20)/drawable_h*drawable_w+10),b-10);        drawable.draw(canvas);    }}



0 0
原创粉丝点击