gpt4 book ai didi

android - 使用自定义进度条?

转载 作者:行者123 更新时间:2023-11-29 15:28:56 25 4
gpt4 key购买 nike

我正在开发一个应用程序,它需要一个更宽的垂直进度条。这在 android 中是否可行。如果是这样,请给我一个开始的方法?

最佳答案

有一个更简单的方法。我遇到了和你一样的问题,并且花了很多时间在论坛上寻找如何创建垂直进度条。

对于我的应用程序,我需要创建一个自定义进度条,所以我所做的就是获取给我的图像,然后使用缩放功能将其放大。现在唯一困难的部分是,缩放类的那部分要求您围绕图像的轴心进行缩放,并且您不能只使用设置的 float ,因为它会根据屏幕尺寸而变化。

下面我将解释我的一个垂直进度条的代码。我使用我的垂直进度条来显示有多少数据用于电话资费,即 500 中的 150。

首先要有一张你想缩放的图片

ImageView orangeBar;

然后声明一个比例变量。

ScaleAnimation scaleO;

当然是找到了

orangeBar = (ImageView) findViewById(R.id.orange);

然后像这样应用缩放动画

scaleO = new ScaleAnimation(1.0f, 1.0f, 1.0f, 2.0f, 1f,
pivotPercent);
scaleO.setDuration(3000);
scaleO.setFillAfter(true);
orangeBar.setAnimation(scaleO);

第三个和第四个变量是您更改以使其垂直增长的变量。 1.0f 是图像的默认大小。第四个变量是你用来让它随心所欲地增长的变量。

最后一个变量设置枢轴,它是图像中的左右位置,它将从中产生动画。我使用了一个名为 pivotPercent 的变量,并使用了一种方法来计算枢轴。我这样做的原因是,枢轴变量需要根据屏幕尺寸而有所不同。我注意到当我为我的动画制作动画时,当我将我的放在模拟器和手机上时,它会引起问题。因此,我创建了一种根据屏幕尺寸计算枢轴的方法。

所以我会先这样获取屏幕的高度

Display display = getWindowManager().getDefaultDisplay();
final int height_c = display.getWidth();

然后我会这样做

double getPercent = (double) height_c / 100 * 3.7;
int pivotPercent = (int) getPercent;

为了让这个工作正常进行了一些尝试。

希望对您有所帮助,如果您对代码有任何疑问,请尽管提问,我会尽力澄清

更新:

这是应用程序加载时的进度条

enter image description here

动画影响后

enter image description here

在这种情况下,条形图缩小了。正如我所说,我使用竖线来标记进度。所以条形图总是从默认位置开始,如图一所示,我只是选择了一个任意位置开始。关税超出了 500,因此在我给出的示例中,他们使用了 500 中的 150。我有一种方法可以计算他们使用的关税百分比并更新条形以反射(reflect)这一点。

我花了一天左右的时间来完善,但玩起来很有趣。

关于android - 使用自定义进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8922501/

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