Создание наклонного текста редактирования в Android

У меня есть требование показать EditText под углом 45 градусов к горизонтальной оси. Поэтому я использовал этот код для этого

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 согласно моему требованию. Но проблема возникает, когда я начал печатать в нем какой-то текст.

Снимок экрана

Как вы можете видеть на снимке экрана, в некоторых местах текста редактирования текст не отображается, а в средней части текста редактирования отображается только текст.

Hello, который находится в левом углу текста редактирования, просто потому, что я установил его с помощью setText()

Пожалуйста, помогите мне, как создать текст редактирования наклонно, чтобы я мог правильно вводить его.


person Chandra Sekhar    schedule 14.06.2012    source источник


Ответы (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);
        }

}
}

Мой новый рабочий снимок экрана

person Chandra Sekhar    schedule 22.06.2012