我要求显示与水平轴成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()
进行设置请帮我如何斜向创建一个edittext,以便我可以正确输入。
答案 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);
}
}
}