Я делаю упражнение с представлением изображения в их XML-файле, я получаю доступ ко всем видам с использованием расширения Kotlinx:
import kotlinx.android.synthetic.main.activity_registrar_usuario.*
Мне нужен доступ к высоте ImageView ис из кода позади, но он дает мне 0 внутри метода onCreate()
, но я могу иметь эти числа позже в методе отдельно (мне нужно их в onCreate, чтобы установить некоторые переменные).
Странно то, что я могу без проблем устанавливать свойства ImageView (проверено с помощью установленного цветового фильтра, но изменение цвета ImageView).
Итак, как я могу использовать расширение kotlinx для получения высоты и ширины ImageView?
Это мой код (я использую тост, чтобы показать высоту и с легкостью, на данный момент этовсегда дает мне 0).
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_registrar_usuario)
setSupportActionBar(toolbar)
val ab = supportActionBar
ab!!.setDisplayHomeAsUpEnabled(true)
targetW = 500
targetH = 500
iconoUsuarioIV.setColorFilter(Color.RED)
Toast.makeText(this@RegistrarUsuarioActivity,"Datos del ImageView: " + iconoUsuarioIV.height.toString() + " " + iconoUsuarioIV.width.toString(), Toast.LENGTH_SHORT).show()
}
и соответствующий им XML:
<ImageView
android:id="@+id/iconoUsuarioIV"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:src="@drawable/ic_user"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />