这是我的水平进度栏->
<ProgressBar
android:id="@+id/pb"
style="@android:style/Widget.Holo.Light.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv"
android:hapticFeedbackEnabled="true"
android:progressDrawable="@drawable/point_one_progress"
android:scaleY="0.80" />
这是我的point_one_progress.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="12dp"/>
<solid android:color="#cccccc"/>
</shape>
</item>
<item android:id="@android:id/progress"
android:top="4dp"
android:bottom="4dp"
android:left="-1dp"
>
<scale android:scaleWidth="100%">
<shape>
<corners android:radius="12dp"/>
<solid android:color="@color/colorPrimaryDark"/>
</shape>
</scale>
</item>
</layer-list>
我正在使用水平进度条显示基于一个点的进度,这表示3个以上的价值进度处于完美状态并且在进度条之内,但是对于1,2,3个进度超出进度条,请建议我如何解决如何将进度条保持在1,2,3值内。
您可以在下面的图片中看到值1->
对于10个值,您可以看到屏幕
答案 0 :(得分:0)
这是可绘制填充的问题。您需要将所有四个面都设为0dp。
这是xml代码。
<ProgressBar
android:id="@+id/pb"
style="@android:style/Widget.Holo.Light.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:hapticFeedbackEnabled="true"
android:progress="2"
android:progressDrawable="@drawable/point_one_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="12dp" />
<solid android:color="#cccccc" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="12dp" />
<solid android:color="@color/colorPrimaryDark" />
</shape>
</clip>
</item>
</layer-list>
答案 1 :(得分:0)
它与您的drawable有关。从item标记中移除top,bottom字段。您的可绘制文件应如下所示。还可以从进度条视图中删除scaleY
<?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="12dp"/>
<gradient
android:startColor="@color/white"
android:endColor= "@color/white"
/>
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="12dp"/>
<solid android:color="@color/primaryDarkColor"/>
</shape>
</clip>
</item>
</layer-list>
答案 2 :(得分:0)