Android循环进度条大小

时间:2017-03-05 10:06:35

标签: android

我有一个自定义循环进度条,此进度条来自其他网站。我已经尝试了很多方法来调整它的大小,但圆形条不会改变。我只是想放大圆形吧。

我的.xml包含栏:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.hangsproduction.algebragames.MainActivity$PlaceholderFragment">

<ProgressBar

    android:id="@+id/circularProgressbar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:indeterminate="false"
    android:max="100"
    android:progress="50"
    android:progressDrawable="@drawable/circular"
    android:secondaryProgress="100"
    android:layout_marginBottom="110dp"
    android:maxHeight="600dip"
    android:minHeight="600dip"

    android:minWidth="600dip"
    android:maxWidth="10dip"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<ImageView
    android:layout_width="90dp"
    android:layout_height="90dp"
    android:background="@drawable/whitecircle"
    android:id="@+id/imageView3"
    android:layout_alignTop="@+id/tv"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="76dp" />

<TextView
    android:id="@+id/tv"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:gravity="center"
    android:text="25%"
    android:textColor="#ffffff"
    android:textSize="25sp"
    android:layout_alignBottom="@+id/circularProgressbar"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="54dp" />


</RelativeLayout>

我的自定义圆形栏:

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/secondaryProgress">
    <shape
        android:innerRadiusRatio="6"
        android:shape="ring"
        android:thicknessRatio="20.0"
        android:useLevel="true">


        <gradient
            android:centerColor="#dddfe1"
            android:endColor="#dddfe1"
            android:startColor="#dddfe1"
            android:type="sweep" />
    </shape>
</item>

<item android:id="@android:id/progress">
    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">

        <shape
            android:innerRadiusRatio="6"
            android:shape="ring"
            android:thicknessRatio="20.0"
            android:useLevel="true">


            <rotate
                android:fromDegrees="0"
                android:pivotX="50%"
                android:pivotY="50%"
                android:toDegrees="360" />

            <gradient
                android:centerColor="#00FF00"
                android:endColor="#00FF00"
                android:startColor="#00FF00"
                android:type="sweep" />

        </shape>
    </rotate>
</item>
</layer-list>

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此Circle Progress库。

或者您可以使用此答案中的代码:

https://stackoverflow.com/a/27269329/6049176

答案 1 :(得分:0)

你有没有尝试过:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/secondaryProgress">
        <shape
            android:innerRadiusRatio="6"
            android:shape="ring"
            android:thicknessRatio="20.0"
            android:useLevel="true">

            <stroke
                android:width="mydp" /> // add this line


            <gradient
                android:centerColor="#dddfe1"
                android:endColor="#dddfe1"
                android:startColor="#dddfe1"
                android:type="sweep" />
        </shape>
    </item>

    <item android:id="@android:id/progress">

        <rotate
            android:fromDegrees="270"
            android:pivotX="50%"
            android:pivotY="50%"
            android:toDegrees="270">

            <shape
                android:innerRadiusRatio="6"
                android:shape="ring"
                android:thicknessRatio="20.0"
                android:useLevel="true">

                <stroke
                    android:width="mydp" /> // add this line


                <rotate
                    android:fromDegrees="0"
                    android:pivotX="50%"
                    android:pivotY="50%"
                    android:toDegrees="360" />

                <gradient
                    android:centerColor="#00FF00"
                    android:endColor="#00FF00"
                    android:startColor="#00FF00"
                    android:type="sweep" />

            </shape>
        </rotate>
    </item>
</layer-list>

希望这有帮助