我有一个按钮:
public class MyButton extends Button{
private float degrees;
public MyButton(Context context) {
super(context);
}
public MyButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.rotate(degrees, this.getWidth()/2, this.getHeight()/2);
super.onDraw(canvas);
canvas.restore();
}
protected void rotateTextInButton(float degrees){
this.degrees = degrees;
}
}
然后我创建一个按钮MyButton mBtn = new MyButton(this)
,当我使用时,mBtn.setSingleLine(true)
方法rotateTextInButton()
仅适用于度数。0
360
如果mBtn.setSingleLine(true)
从代码中删除 - 一切正常。
有可能解决这个问题吗?
PS 我必须在按钮处使用单行并且能够在按钮内旋转文本。