android - 进度条阴影仅在填充部分

标签 android progress-bar shadow android-elevation

在 android 中实现一个进度条,试图只在填充部分的底部获得一个投影,如下所示: ProgressBar

API 级别为 KitKat 及以上,但我不介意仅适用于 LOLLIPOP 及以上的解决方案。 海拔似乎不起作用,卡片 View 也不起作用。 有什么建议吗?

最佳答案

创建以下 xml 形状并将其放置为进度条背景。

** xml 中的 10dp 假定 progressBar 的高度为 20dp,并且您希望阴影正好是它的一半。

<?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:id="@android:id/background">
            <layer-list>
                <item android:bottom="10dp">
                    <shape android:shape="rectangle">
                        <solid android:color="@color/orange" />
                    </shape>
                </item>
            </layer-list>
        </item>

        <item android:id="@android:id/progress">
            <clip>
                <layer-list>
                    <item>
                        <shape android:shape="rectangle">
                            <solid android:color="@color/green" />
                        </shape>
                    </item>
                    <item android:top="10dp">
                        <shape android:shape="rectangle">
                            <gradient
                                android:angle="90"
                                android:endColor="@color/black"
                                android:startColor="@color/white" />
                        </shape>
                    </item>
                </layer-list>
            </clip>
        </item>
    </layer-list>

关于android - 进度条阴影仅在填充部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40396026/

相关文章:

wpf - 带有对角线装饰器的 ProgressBar 主题

javascript - 另一个简单的 jQuery 进度条问题

shadow - ConstraintLayout 中带有标高和阴影的 View

android - 如何将 SimpleCursorAdapter 与 single_choice 和 multiple_choice 一起使用

android - 从 ListView 获取选中的 View

java - 在 Android Studio 中加载 Mapbox map 后绘制标记 [Java]

android - xamarin android 构建错误 : "Failed to create JavaTypeInfo for class"

java - SwingWorker 和 JProgressBar 的问题

c++ - 我如何在 Qt 中的小部件下绘制阴影?