![](/img/trans.png)
[英]How can I make a seekbar be updated with the progress of a song for Xamarin Android
[英]How can I show song duration and circular seekbar
我是Android的初學者,我正在創建一個音樂應用,但我需要在應用上顯示歌曲時長和圓形搜索欄
我已經使用了圓形搜索欄,請參見示例。
您必須在您的Gradle依賴項中實現
implementation 'me.tankery.lib:circularSeekBar:1.1.7'
然后在您的xml中實現它,然后自己嘗試...
<me.tankery.lib.circularseekbar.CircularSeekBar
android:id="@+id/circularSeekBar"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
app:cs_circle_color="#0000ff"
app:cs_circle_progress_color="#ff0000"
app:cs_circle_stroke_width="4dp"
app:cs_pointer_color="#ff0000"
app:cs_pointer_stroke_width="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
在您的活動中
CircularSeekBar seekBar=findViewById(R.id.circularSeekbar);
為了使用媒體播放器設置搜索欄...將setProgress代碼放入處理程序中以每秒更新一次搜索欄
seekBar.setMax(mediaPlayer.getDuration());
seekBar.setProgress(mediaPlayer.getCurrentPosition());
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, float
progress, boolean fromUser) {
int h = Math.round(progress);
//In the above line we are converting the float value into int because
// media player required int value and seekbar library gives progress in float
if (mediaPlayer != null && fromUser) {
mediaPlayer.seekTo(h);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
我沒有提供圖片,但是效果很好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.