这里的两边都是圆角,指的是progressbar的progress部分
比如,需要这个效果:
如果使用shape,progress的右边是直角,所以使用了.9图
但是实际中,设置progress为10了之后(max为100),整体还是很宽,感觉像是progress属性不能用了
原始界面文件中的使用:
<ProgressBar
android:id="@+id/live_channel_progres"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="112dp"
android:layout_height="15dp"
android:max="100"
android:progress="10"
android:progressDrawable="@drawable/progress_bg" />
progress的drawable:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 背景 gradient是渐变,corners定义的是圆角 -->
<item android:id="@android:id/background">
<shape>
<corners android:radius="30dp" />
<solid android:color="#ff0" />
</shape>
</item>
<!-- 进度条 -->
<item android:id="@android:id/progress" android:drawable="@drawable/live_channel_progress"/>
</layer-list>
PHP中文网2017-04-17 15:08:28
私の質問が明確ではないため、誤解を招いている可能性があります。現在の要件は次のとおりです。
進行状況の進行部分は両側の角が丸い必要があります
最初からシェイプを使ってみましたが、うまくいきませんでした
1階の答えをコピーして試してみましたが、最初の結果と同じでした
.9 の画像を使用する場合は、次の質問を入力するだけでこの問題を回避できます:
リーリーこの部分を変更するだけです:
リーリーこれは、clip属性を指定するとプログレスバーがクリップしてしまうので、アイテム内でスケールを使う必要があるためです。写真。
http://stackoverflow.com/questions/2078809/progress-bar-rounded-on-both-sides-in-android