#android #kotlin
#Android #котлин
Вопрос:
Я пытаюсь переместить кнопку внутри a ImageView
. Мне нужно найти ширину a ImageView
, и я использую.
ImgBox.getLocationOnScreen(location)
val x = location[0]
val y = location[1]
val viewWidth = ImgBox.width
Ширина, которую я получаю, неверна, и я думаю, что это из-за ограничений в ImageView
<ImageView
android:id="@ id/..."
style="@style/..."
android:background="@..."
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.4"
app:layout_constraintHorizontal_bias="0.6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.5"
app:layout_constraintWidth_percent="0.1"
Я не могу вносить какие-либо изменения в xml
Любые предложения приветствуются.
Комментарии:
1. Сработал ли для вас мой ответ?
Ответ №1:
Похоже, вы написали «ImgBox» как «OmgBox» здесь:
val viewWidth = OmgBox.width
Попробуйте изменить его на:
val viewWidth = ImgBox.width
Редактировать:
Итак, вышеприведенное не сработало для вас, поэтому я протестировал этот пример, и он работает для меня. Вот что я сделал.
Добавьте этот импорт в начало своей деятельности: import android.widget.ImageView
Затем добавьте этот код:
val imageView = findViewById<ImageView>(R.id.yourImageViewId)
val width = imageView.width.toString()
Toast.makeText(applicationContext, width, Toast.LENGTH_SHORT).show()
Измените yourImageViewId
свой идентификатор imageview, установленный здесь:
<ImageView
android:id="@ id/..."
.....
Затем вы должны увидеть всплывающее окно с указанием числа, которое является шириной изображения.
Комментарии:
1. Привет, Эми, это была ошибка, которую я допустил только здесь. Так что это не сработало
2. Хорошо, я немного запутался в том, на чем вы застряли. Не могли бы вы объяснить?
3. Если бы я хотел добавить ваш код в свой фрагмент, я предполагаю, что это будет то же самое. Когда я добавляю его в свой фрагмент, я получаю «Неразрешенную ссылку: findViewById».