【问题标题】:How to make a custom Edittext,so that it will look like as 45 degree rotated in android如何制作自定义 Edittext,使其看起来像在 android 中旋转 45 度
【发布时间】:2012-06-21 17:49:24
【问题描述】:

如何制作自定义 Edittext,使其看起来像在 android 中旋转 45 度,并且它应该是可编辑的,以便用户可以在旋转后的 Edittext 上输入文本。我试过了。但我没有得到任何解决方案它。请给出一些想法。

【问题讨论】:

  • 在 API 级别 11+ 上,在常规 EditText 上使用 setRotation()

标签: android android-layout android-emulator android-widget


【解决方案1】:

您可以尝试像这样覆盖 EditText onDraw 方法...

@Override
protected void onDraw(Canvas canvas) {
     canvas.save();
     canvas.rotate(45.0f,xpivot,ypivot); //rotate around (x,y) pivot point 
     super.onDraw(canvas);
     canvas.restore();
}

我没有对此进行测试,但我认为它应该可以工作。

【讨论】:

  • 这样就可以了。澄清一下,您必须编写一个自定义的RotatedEditText extends EditText,并且 this + 构造函数可以是其中唯一的东西。
  • 我认为您将不得不做一些与触摸事件相关的额外工作。您所做的只是绘制旋转的小部件。
  • 感谢大家的快速回复。
【解决方案2】:

“自定义 EditText”意味着您扩展 EditText 并覆盖 draw 方法,以您想要的方式绘制文本。

【讨论】:

    【解决方案3】:

    我找到了一种不同的方法,它正在发挥作用。

    EditText lEditTxt = (EditText)findViewById(R.id.Edit_ID);
            Animation lAnim = new RotateAnimation(0, -45, 250, 50);
            lAnim.setRepeatCount(Animation.INFINITE);
            lEditTxt.startAnimation(lAnim);
            getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多