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