У меня есть относительное расположение, которое имеет форму круга в качестве фона. Внутри относительной компоновки у меня есть imageView (пожалуйста, смотрите скриншот)
У меня есть объект MediaRecorder, который начинает запись по нажатию кнопки. Я хотел бы анимировать представление "круг", которое представляет собойlativeLayout на основе значения mediaRecorder.maxAmptitude.
Вот мой код:
круг просмотра с микрофоном imageView
<RelativeLayout
android:id="@+id/circle_view"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_above="@+id/recording_options_layout"
android:background="@drawable/recording_mic_circle"
android:layout_centerHorizontal="true">
<ImageView
android:id="@+id/mic_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_mic"
android:layout_centerInParent="true"/>
</RelativeLayout>
и фон для RelativeLayout, который является формой:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="10dp"
android:color="#78d9ff"/>
</shape>
И в своей деятельности я опрашиваю каждые 500 мельниц, чтобы получить значение mediaRecorder.maxAmptitude:
override fun onRecordingStarted() {
........
Observable.interval(500L, TimeUnit.MILLISECONDS)
.timeInterval()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
val maxAmptitude: Int = mediaRecorder.maxAmptitude
Timber.e("max amptitude $maxAmptitude")
//circle scale animation
}
.........
}
Может кто-нибудь сказать, как я могу перевести / преобразовать значение из mediaRecorder.maxAmptitude в число с плавающей точкой, которое я могу использовать для scaleAnimation?
Заранее спасибо
![enter image description here](https://i.stack.imgur.com/qePho.png)