9

我有一个 EditText,它通常显示与屏幕 X 轴平行。我想倾斜地展示它(与水平轴成 45 度左右)。是否可以在 Android 中执行此操作。请指导我一个方向,以便我可以尝试。

在pawelzeiba的答案中获得两个链接后,我继续解决这个问题,但又卡住了,所以我提出了另一个问题。这是链接

正如 Gunnar Karisson 所说,在Android 3.0中引入的View类中有一个setRotation()方法,但我不能使用它,因为我的应用程序应该适用于Android 2.1版本。

所以请帮我解决这个问题。

4

4 回答 4

3

EditTextView的间接子类,它有一个可以使用setRotation(float)设置的旋转字段:

myEditText.setRotation(45.0f)。

于 2012-06-18T06:23:14.643 回答
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:33:49.833 回答
0

如果该setRotation()方法不适用于您正在使用的 API 级别,那么您最好的选择是创建您自己的 View 子类并实现一个setRotation()方法。

于 2012-06-21T16:11:58.913 回答
0

您可以旋转视图,示例:

Android中的垂直(旋转)标签
是否可以在android的textview中垂直书写?

但我不确定在编辑期间它与 EditText 的外观如何。

于 2012-06-14T12:14:25.153 回答