私は、通話の受諾または拒否に使用するシーク バーと同様のシーク バーを実装しようとしています。
通話受け入れの場合は sbLeft.setProgress(0) を設定し、通話拒否の場合は sbRight.setProgress(15) を設定します。setMax=15 ボットの両方のシーク バーを使用します。これにより、目的の結果の半分が得られます。
私が直面している問題は色です。
左のシークバーをドラッグして通話を受け入れると、ドラッグされた部分を覆う緑色が必要になります。そのために、次のコードを使用します (目的の結果が得られます)。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<!--
<gradient
android:startColor="#41a317"
android:centerColor="#4cc417"
android:centerY="0.75"
android:endColor="#347c17"
android:angle="270" />-->
<solid android:color="@android:color/transparent"/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#41a317"
android:centerColor="#4cc417"
android:centerY="0.75"
android:endColor="#347c17"
android:angle="270" />
</shape>
</clip>
</item>
</layer-list>
ただし、透明色のタグとグラデーションのタグを切り替えても、これは通話の拒否には機能しません。
PS: 私の質問は少しわかりにくいかもしれません。私の問題を説明するために最善を尽くしたことを願っています。