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);
}
}