在Android中歪曲文本视图

在Android中歪曲文本视图,第1张

概述我想在我的应用程序中复制以下内容:如您所见,它基本上是一个按钮,用于增加/减少其中包含的文本视图的值.此按钮将具有三种视觉状态–>未按下,减少和增加(如上图所示,用户点击增加箭头,按钮出现在该侧按下)这是我目前的3个按钮状态:正如您所看到的,我遇到的问题是能够正确地倾斜/

我想在我的应用程序中复制以下内容:

如您所见,它基本上是一个按钮,用于增加/减少其中包含的文本视图的值.此按钮将具有三种视觉状态 – >未按下,减少和增加(如上图所示,用户点击增加箭头,按钮出现在该侧按下)

这是我目前的3个按钮状态:

正如您所看到的,我遇到的问题是能够正确地倾斜/旋转文本视图,使其看起来在视觉上正确,并且在按钮增大或减小时会与按钮一起倾斜.

到目前为止,我尝试了两种不同的方法:

>创建一个自定义文本视图类,它覆盖onDraw()方法以使画布倾斜:

@OverrIDepublic voID onDraw(Canvas canvas) {    canvas.save();    canvas.skew(0.2f, 0f);   super.onDraw(canvas);    canvas.restore();}

>集成Rotate3dAnimation类(源here)并使用许多不同的变体来获得所需的结果,例如:

   Rotate3dAnimation skew = new Rotate3dAnimation(          30, 0, centerX, centerY, 0, false);   txtAmount.startAnimation(skew); 

不幸的是,我没有得到完全反映上面第一张图片的结果.我对使用Z轴,倾斜,旋转等设置值感到困惑.

我非常感谢任何有这方面经验的人的帮助.提前致谢

解决方法:

好吧,我甚至尝试过,我想出了类似的东西:

 public class DemoActivity extends TextVIEw {    Context context;    String firstText = "0.00"; public DemoActivity(Context context)   {    super(context);    this.context = context;   }    @OverrIDe    protected voID onDraw(Canvas canvas) {    super.onDraw(canvas);    setText(firstText);    setTextSize(30);    canvas.skew(1.0f, 0.3f);  //you need to change values over here    Rotate3dAnimation skew = new Rotate3dAnimation(              -20, 30,200, 200, 0, false);   //here too    startAnimation(skew);        }    }

我有一个输出:

我想通过试验和错误更改值可以解决您的问题.
希望能帮助到你.

总结

以上是内存溢出为你收集整理的在Android中歪曲文本视图全部内容,希望文章能够帮你解决在Android中歪曲文本视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存