ProgressBar自定义布局角落不起作用

时间:2017-09-21 10:08:17

标签: android layout progress-bar customization

我正在尝试在我的Android应用中创建自定义progressBar,但我一直在应用进度布局上的角落。

以下是预期结果: enter image description here

我的代码是:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@android:id/background">
    <shape>
        <padding
            android:bottom="1dp"
            android:left="1dp"
            android:right="1dp"
            android:top="1dp" />
        <solid android:color="@android:color/white" />
    </shape>
</item>

<item android:id="@android:id/progress" android:gravity="center">
    <clip>
        <shape android:shape="rectangle">
            <corners
                android:bottomRightRadius="20dp"
                android:topRightRadius="20dp" />
            <solid android:color="#026B91" />
        </shape>
    </clip>
</item>

代码的布局结果: enter image description here

我似乎无法从进度布局做圆角,我尝试了不同的方法,但没有任何作用。我错过了什么?感谢

2 个答案:

答案 0 :(得分:-1)

使用下面的drawable作为您的进度条可绘制。

<?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>
    <solid
            android:color="@color/progbar_color" />
    <corners android:radius="60dp"/>
</shape>
</item>

<item
android:id="@android:id/progress">
<clip>
    <shape>
        <solid
            android:color="@color/progbar_track_color" />
        <corners android:radius="60dp"/>
    </shape>
</clip>
</item>

</layer-list>

答案 1 :(得分:-1)

请尝试以下代码:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@android:id/background">
    <shape>
        <padding
            android:bottom="1dp"
            android:left="1dp"
            android:right="1dp"
            android:top="1dp" />
        <solid android:color="@android:color/white" />
    </shape>
</item>

<item android:id="@android:id/progress" android:gravity="center">
    <clip>
        <shape android:shape="rectangle">
            <corners
                android:radius="0dp"
                android:bottomRightRadius="20dp"
                android:topRightRadius="20dp" />
            <solid android:color="#026B91" />
        </shape>
    </clip>
</item>

我的经验是,如果你想设置android:bottomRightRadius="20dp"android:topRightRadius="20dp",你应该设置 android:radius =&#34; 0dp&#34;