在android中创建倾斜的edittext

时间:2012-06-14 15:03:49

标签: android android-edittext

我要求显示与水平轴成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。但是当我开始在其中输入一些文字时会出现问题。

Screen Shot

正如您可以看到屏幕截图,edittext的某些位置没有显示文本,而edittext的中间部分只显示文本。

编辑文本左下角的 Hello 就是这样,我使用 setText()

进行设置

请帮我如何斜向创建一个edittext,以便我可以正确输入。

1 个答案:

答案 0 :(得分: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);
        }

}
}

My new working screen shot