gpt4 book ai didi

android - 在 Android 中倾斜 TextView

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:21 25 4
gpt4 key购买 nike

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

enter image description here

如您所见,它基本上是一个按钮,可以增加/减少其中包含的 TextView 的值。此按钮将具有三种视觉状态 -> 未按下、减少和增加(如上图所示,用户点击增加箭头,按钮在那一侧显示为按下状态)

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

enter image description here enter image description here enter image description here

如您所见,我遇到的问题是能够正确地倾斜/旋转 TextView ,使其在视觉上看起来正确,并且在按钮增加或减少时看起来与按钮一起倾斜。

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

  • 创建一个自定义 TextView 类,该类覆盖 onDraw() 方法以倾斜 Canvas :

    @Override
    public 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);

不幸的是,我并没有完全得到反射(reflect)上面第一张图片的确切结果。我对使用 Z 轴、倾斜、旋转等设置值感到困惑。

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

最佳答案

好吧,我什至尝试过,我想出了这样的事情:

 public class DemoActivity extends TextView {
Context context;
String firstText = "$120.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);

}
}

我得到的输出是:

enter image description here

我想通过反复试验更改值可以解决您的问题。希望对您有所帮助。

关于android - 在 Android 中倾斜 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11375130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com