gpt4 book ai didi

android - 尝试更改 Android ProgressBar 的圆角半径时出错

转载 作者:行者123 更新时间:2023-12-05 00:19:23 28 4
gpt4 key购买 nike

我有一个带有 Widget.AppCompat.ProgressBar.Horizo​​ntal 样式的 ProgressBar 小部件:

<ProgressBar
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

当深入研究AppCompat源代码中的Widget.AppCompat.ProgressBar.Horizo​​ntal(它内部使用Widget.Material)样式定义时,我发现对于API 21+ 它使用以下可绘制对象:

<style name="Widget.Material.ProgressBar.Horizontal" parent="Widget.ProgressBar.Horizontal">
<item name="progressDrawable">@drawable/progress_horizontal_material</item>
...
</style>

这是progress_inminated_horizo​​ntal_material的 fragment :

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@id/background"
android:gravity="center_vertical|fill_horizontal">
<shape android:shape="rectangle"
android:tint="?attr/colorProgressBackgroundNormal">
<corners android:radius="?attr/progressBarCornerRadius" />
<size android:height="@dimen/progress_bar_height_material" />
<solid android:color="@color/white_disabled_material" />
</shape>
</item>

它使用 ?attr/colorProgressBackgroundNormal 属性,但是当我尝试使用以下行在我的应用程序主题中设置此属性的值时:

<item name="progressBarCornerRadius">2dp</item>

然后我收到编译错误:

AAPT: error: style attribute 'attr/progressBarCornerRadius (aka com.application:attr/progressBarCornerRadius)' not found.

最佳答案

属性名称为android:progressBarCornerRadius,但它是私有(private)的。

您可以使用具有自定义样式的ProgressBar:

<style name="customProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
<item name="progressDrawable">@drawable/custom_progress_horizontal</item>
</style>

否则,您可以使用 Material 组件库提供的新LinearProgressIndicator:

    <com.google.android.material.progressindicator.LinearProgressIndicator             
android:indeterminate="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:trackThickness="10dp"
app:trackCornerRadius="8dp"/>

注意:至少需要版本1.3.0-alpha04

enter image description here

关于android - 尝试更改 Android ProgressBar 的圆角半径时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63112931/

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