gpt4 book ai didi

android - 使用 Drawables 的进度条

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

我需要使用两个可绘制图像创建一个简单的进度条。一是当然是背景。另一个我需要根据 float 百分比进行缩放。是否可以仅使用 Java 代码?我尝试了 setBounds() 方法但无济于事...:(

谢谢

最佳答案

您可以仅使用 XML 代码完美而轻松地做到这一点。

首先,在您的 Activity 布局中指定您声明进度条样式的 XML,在本例中为@drawable/custom_progressbar:

<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:progressDrawable="@drawable/custom_progressbar"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="@drawable/progress_bar_background" >
</ProgressBar>

然后,在@drawable/custom_progressbar 中声明进度将使用根据进度裁剪的位图来表示。 id 很重要,因为它被 Android 的 ProgressBar 小部件使用。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/progress">
<clip>
<bitmap android:src="@drawable/progress_bar_foreground" />
</clip>
</item>
</layer-list>

然后,在布局中progressbat的声明中指定progressbar的背景。

理论上应该在进度条层列表中使用id android:id="@android:id/background指定背景,但在这种情况下它对我不起作用。我认为Android设计者想到了用作可拉伸(stretch)的 9patch 或平铺位图。我想和你做同样的事情,我只是通过在布局的 View 中像往常一样声明背景来得到它。

希望对您有所帮助。

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

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