3

我有一个按钮:

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()仅适用于度数。0360

如果mBtn.setSingleLine(true)从代码中删除 - 一切正常。

有可能解决这个问题吗?

PS 我必须在按钮处使用单行并且能够在按钮内旋转文本。

4

1 回答 1

0

而不是使用mBtn.setSingleLine(true),使用mBtn.setHorizontallyScrolling(true)。希望,这会帮助你...

于 2013-02-27T07:35:23.897 回答