我正在使用XML文件中的图像视图进行活动,我使用Kotlinx扩展名访问所有视图,如下所示:
import kotlinx.android.synthetic.main.activity_registrar_usuario.*
我需要从后面的代码中访问ImageView heigh,但是它在onCreate()
方法中给了我0,但是以后我可以在方法中分开使用这些数字(我需要在onCreate来设置一些变量)。
奇怪的是,我可以毫无问题地设置ImageView属性(已通过设置滤色镜测试过更改ImageView颜色)。
那么如何使用kotlinx扩展获取ImageView的高度和宽度?
这是我的代码(我正在用Toast来显示高度,并且很容易,这时它总是给我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" />