我有一个按钮:
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)
- 目前都可以正常工作。
有可能解决这个问题吗?
P.S。我必须在按钮上使用单行并能够在按钮内旋转文本。
答案 0 :(得分:0)
不使用mBtn.setSingleLine(true)
,而是使用mBtn.setHorizontallyScrolling(true)
。希望,这将有助于你...