Я использую карту и перекрывающиеся макеты на карте. Я хотел бы установить FrameLayout (frame_layout_visible) рядом с другим FrameLayout (framelayout2). Как мне это сделать? Я не знаю, что я делаю неправильно, но android:layout_toRightOf это не работает.
<RelativeLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:animateLayoutChanges = "true"
tools:context = ".MainActivity$PlaceholderFragment">
<ActionMenuView
android:minHeight = "?android:attr/actionBarSize"
android:background = "?android:attr/colorPrimary"
android:minWidth = "25px"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:gravity = "top|start"
android:id = "@+id/toolbarMap1" />
<com.esri.android.map.MapView
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:id = "@+id/mapView"
android:src = "@drawable/map"
android:layout_below = "@id/toolbarMap1"
android:background = "@android:color/white" />
<TextView
android:text = ""
android:textAppearance = "?android:attr/textAppearanceSmall"
android:layout_width = "match_parent"
android:layout_height = "20dp"
android:id = "@+id/textViewStatus1" />
<FrameLayout
android:layout_width = "wrap_content"
android:layout_alignParentEnd = "true"
android:layout_height = "wrap_content"
android:clickable = "false"
android:layout_below = "@id/toolbarMap1"
android:id = "@+id/frame_layout_visible"
android:layout_marginVertical = "@dimen/_60sdp">
<ImageView
android:id = "@+id/imageZwin"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_margin = "@dimen/_5sdp"
android:layout_gravity = "center"
android:clickable = "true"
android:src = "@drawable/drag_drop"/>
</FrameLayout>
<FrameLayout
android:layout_width = "@dimen/_40sdp"
android:layout_height = "wrap_content"
android:id = "@+id/frameLayout2"
android:layout_marginEnd = "@dimen/_10sdp"
android:animateLayoutChanges = "true"
android:clickable = "false"
android:layout_marginVertical = "@dimen/_80sdp"
android:orientation = "vertical"
android:foregroundGravity = "center"
android:background = "@drawable/rounded_background"
android:layout_alignParentEnd = "true"
android:layout_toRightOf = "@id/frame_layout_visible"
>
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical"
>
<ImageView
android:id = "@+id/imageLegenda"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_margin = "@dimen/_5sdp"
android:layout_gravity = "center"
android:clickable = "true"
android:src = "@drawable/legenda"/>
<ImageView
android:id = "@+id/imageSzukaj"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_margin = "@dimen/_5sdp"
android:layout_gravity = "center"
android:clickable = "true"
android:src = "@drawable/szukaj"/>
<ImageView
android:id = "@+id/imageInfoObiekt"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_margin = "@dimen/_5sdp"
android:layout_gravity = "center"
android:clickable = "true"
android:src = "@drawable/infoObiekt"/>
<ImageView
android:id = "@+id/imageObszar"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_margin = "@dimen/_5sdp"
android:layout_gravity = "center"
android:clickable = "true"
android:src = "@drawable/obszar"/>
<ImageView
android:id = "@+id/imageOdswiez"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_margin = "@dimen/_5sdp"
android:layout_gravity = "center"
android:clickable = "true"
android:src = "@drawable/odswiez"/>
</LinearLayout>
</FrameLayout>
</RelativeLayout>
удалить android:layout_alignParentEnd = "true" из первого FrameLayout - это приклеит этот View к правому краю экрана, поэтому ваш второй FrameLayout (один с android:layout_toRightOf) выталкивается за пределы экрана. или, может быть, вы можете обменять его на android:layout_toLeftOf. также уберите android:layout_alignParentEnd = "true" со второго FrameLayout
сделайте свой второй FrameLayoutandroid:layout_alignParentEnd = "true" и свой первый макет android:layout_toLeftOf вторым (на самом деле он должен быть toStartOf)
Спасибо, это работает, но в настоящее время макеты фреймов расширены до левой части экрана.