覆盖ProgressBarStyle

时间:2013-10-04 13:04:10

标签: android android-layout

我想覆盖progressBarStyle。我的应用中的默认主题是

<style name="AppBaseTheme" parent="android:Theme.Light.NoTitleBar">

但我需要将只有一个进度条样式更改为

android:Theme.NoTitleBar

我已经尝试过自定义样式:

<style name="DarkTheme" parent="android:Theme.NoTitleBar">
    <item name="android:progressBarStyle">@style/progressBarStyle</item>
</style>

但得到了

error: Error: No resource found that matches the given name (at 'android:progressBarStyle' with value '@style/progressBarStyle')

我必须使用

中的默认系统进度条
Theme.NoTitleBar

2 个答案:

答案 0 :(得分:1)

在res / drawable / green_progress.xml

中使这个可绘制
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360" >

    <shape
       android:innerRadiusRatio="5"
        android:shape="ring"
        android:thicknessRatio="15"
        android:useLevel="false" >
        <size
            android:height="48dip"
            android:width="48dip" />

        <gradient
            android:centerColor="#FFFFFF"
            android:centerY="0.50"
            android:endColor="@android:color/transparent"
            android:startColor="#4bd577"
            android:type="sweep"
            android:useLevel="false" />
    </shape>

</rotate>

以及您的进度条

android:indeterminateDrawable"@drawable/green_progress"

或者非循环进度条使用此:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="0dip" />
            <gradient android:startColor="#004676" android:centerColor="#004676"
                android:centerY="0.75" android:endColor="#004676" android:angle="90" />
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="0dip" />
                <gradient android:startColor="#ee7407" android:endColor="#ee7407"
                    android:angle="90" />
            </shape>
        </clip>
    </item>
</layer-list>

对于你的进步:

 android:progressDrawable="@drawable/myprogrogress"

答案 1 :(得分:1)

使用以下内容改变您的风格:

<style name="IndeterminateProgress" parent="@android:style/Widget.ProgressBar">

<item name="android:indeterminateDrawable">@drawable/progress_small_holo</item>

</style>