Я пытаюсь добавить кнопку поверх Map Activity в макете. Я просто хочу показать кнопку над макетом карты, но я пробовал разные макеты, ограничения, относительные... и ничего не работает. Я также пытался поместить фрагмент карты в XML до и после кнопки внутри относительного макета, но это ничего не дало, он показывает только карту.
Я изменил размер карты и даже удалил макет карты, но карта по-прежнему отображается в полноэкранном режиме.
<android.support.constraint.ConstraintLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:id = "@+id/constrainLayout"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:orientation = "vertical">
<fragment
android:id = "@+id/map"
class = "com.google.android.gms.maps.SupportMapFragment"
android:layout_width = "270dp"
android:layout_height = "336dp"
android:layout_marginStart = "8dp"
android:layout_marginLeft = "8dp"
android:layout_marginTop = "8dp"
android:layout_marginEnd = "8dp"
android:layout_marginRight = "8dp"
android:layout_marginBottom = "8dp"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toTopOf = "parent"
tools:context = "com.parse.starter.RidersActivity" />
<Button
android:id = "@+id/button3"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginEnd = "16dp"
android:layout_marginRight = "16dp"
android:layout_marginBottom = "16dp"
android:text = "Button"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintRight_toRightOf = "parent" />
</android.support.constraint.ConstraintLayout>
Я также пытался изменить размер фрагмента на 0 dp, но на экране нет никаких признаков кнопки! я вижу только полную карту... я даже не могу изменить ее размер.
Вам не нужно указывать ориентацию для limitedLayout. Просто сделайте свои размеры фрагментов android:layout_width = "match_parent"
и
android:layout_height = "match_parent"
, добавьте кнопку и привяжите ее к вашему фрагменту:
Вам не нужно указывать ориентацию для limitedLayout. Просто сделайте свои размеры фрагментов android:layout_width = "match_parent"
и
android:layout_height = "match_parent"
, добавьте кнопку и привяжите ее к вашему фрагменту:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
android:id = "@+id/constrainLayout"
android:layout_width = "match_parent"
android:layout_height = "match_parent">
<Button
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginStart = "8dp"
android:layout_marginTop = "8dp"
android:layout_marginEnd = "8dp"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toTopOf = "parent" />
<fragment
android:layout_width = "match_parent"
android:layout_height = "match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Это выглядит так:
спасибо за ваш ответ, я попробовал, но все равно не работает! превью как вы выложили, но на моем устройстве показывает только карту без кнопки.
В этом случае приподнимите задницу, поменяйте местами или поместите кнопку над фрагментом в xml (просто сделайте это на моем примере)
Просто создайте свой атрибут Fragment height and weight
match_parent
Попробуйте код ниже:
<?xml version = "1.0" encoding = "utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:id = "@+id/constrainLayout"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:orientation = "vertical">
<fragment
android:id = "@+id/map"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toTopOf = "parent" />
<Button
android:id = "@+id/button3"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginRight = "160dp"
android:layout_marginBottom = "652dp"
android:text = "Button"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintRight_toRightOf = "parent" />
</android.support.constraint.ConstraintLayout>
Я надеюсь, что это работает для вас
наконец-то я нашел проблему, я случайно создал 2 похожих действия и редактировал не то действие, поэтому ошибок не было. Спасибо всем, кто пытался помочь.
Ваш фрагмент имеет фиксированный размер. вы должны изменить его на «0dp» в ConstraintLayout. и вы должны определить правильное ограничение.