У меня есть макет координатора, содержащий макеты, представления и FAB.Проблема в том, что макет во время выполнения невидим.В указанном событии я должен
- получить его позицию и поля (или размер и поля - тогда положение можно рассчитать по размеру экрана ...)
- изменить его видимость, используя main_fab.show ()
Мой файл макета:
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_coordinator_containter">
<!-- omitted -->
<Layout1>
<!-- omitted -->
</Layout1>
<!-- omitted -->
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/main_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
app:srcCompat = "@drawable/ic_chat_bubble_outline_black_24dp"
/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
В коде я попробовал следующее:
//... code block
var mFabWidth=0
var mFabHeight=0
//... code block
fun getCurrentFabValues(){
mFabWidth=main_fab.width
mFabHeight=main_fab.height
/* and I also need it's default size and margin values */
}
Так как в указанный момент FABinvisible, main_fab.width и main_fab.height возвращает 0. Более того, я не знаю, как получить маржу и размер по умолчанию.Может кто-нибудь помочь, пожалуйста, как мне получить эти значения из XML?Заранее спасибо!