0

我需要以与水平轴成 45 度角的方式显示 EditText。所以我使用此代码来执行此操作

EditText editText = (EditText) findViewById(R.id.edit_text);
editText.setText("Hello");
Animation anim = new RotateAnimation(0.0f, -45.0f, 190, 90);
anim.setFillAfter(true);
editText.setAnimation(anim);

它还根据我的要求显示 EditText。但是当我开始在其中输入一些文本时出现了问题。

截屏

正如您在屏幕截图中看到的那样,edittext 的某些地方没有显示文本,而在edittext 的中间部分仅显示了文本。

编辑文本左角的Hello只是因为,我使用setText()设置

请帮助我如何倾斜地创建编辑文本,以便我可以正确输入。

4

1 回答 1

1

经过长时间的研发,我成功解决了这个问题,

public class CustomEditText extends EditText {

private Animation rotateAnim;
public CustomEditText(Context context) {
        super(context);
}

public CustomEditText(Context context, AttributeSet attrs){
    super(context, attrs);
}

private void createAnim(Canvas canvas) {
        rotateAnim = new RotateAnimation(0, -45, 250, 50);
        rotateAnim.setRepeatCount(Animation.INFINITE);
        startAnimation(rotateAnim);
}

@Override
protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        // creates the animation the first time
        if (rotateAnim == null) {
                createAnim(canvas);
        }

}
}

我的新工作屏幕截图

于 2012-06-22T06:37:49.223 回答