在安卓中如何倾斜显示EditText

9
我有一个EditText,通常显示在屏幕X轴平行的位置。我想将其倾斜(大约45度到水平轴)。在Android中是否可以实现这一点。请指导我一个方向,以便我可以尝试它。
在获得pawelzeiba答案中的两个链接之后,我在解决问题时做了一些进展,但又卡住了,所以我又发了另一个问题。这是链接:link
正如Gunnar Karisson所说,在Android 3.0中引入了View类中的setRotation()方法,但我无法使用它,因为我的应用程序应该适用于Android 2.1版本。
所以请帮我解决这个问题。
4个回答

3

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

myEditText.setRotation(45.0f)。

(说明:此处“myEditText”为示例变量名,可根据实际情况替换。)

Gunnar,我不能使用这种方法,因为我的应用程序应该从Android 2.1版本开始运行。因此,我需要一些可以在Android 2.1版本上工作的解决方案。请查看我编辑过的问题。 - Chandra Sekhar

1
经过长时间的研发,我成功地通过创建自己的自定义EditText来解决了这个问题,它完美地满足了我的需求。
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);
        }

}
}

0

0
如果API级别不支持setRotation()方法,则最好的选择是创建自己的View子类并实现一个setRotation()方法。

这就是我所询问的,我已经实现了,但在那种情况下遇到了一些问题。请参见问题中给出的链接。 - Chandra Sekhar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接