mapbox / mapbox/mapbox-navigation-android-examples
MapboxManeuverView width is fixed in landscape mode
まだ誰も着手していません。
- 主要言語
- Kotlin
- スター
- 65
- フォーク
- 56
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 2
説明
I'm not able to change MapboxManeuverView component width in landscape mode.
it works in portrait mode but not working on landscape mode.
Portrait layout :
`
<androidx.constraintlayout.widget.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:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
android:id="@+id/mapboxView"
tools:context=".Screens.MapBoxScreen.MapBoxActivity">
<com.mapbox.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:mapbox_cameraTargetLat="40.7128"
app:mapbox_cameraTargetLng="-74.0060"
app:mapbox_logoEnabled="false"
app:mapbox_attributionEnabled="false"
app:mapbox_cameraZoom="14.0"/>
<include
android:id="@+id/where_to_sound_home"
layout="@layout/where_to_home_sound_item"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:ignore="RtlSymmetry" />
<com.mapbox.navigation.ui.maneuver.view.MapboxManeuverView
android:id="@+id/maneuverView"
android:layout_width="0dp"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:layout_marginTop="23dp"
style="@style/MapboxCustomManeuverStyle"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/content_box_frame_container"
app:layout_constraintEnd_toEndOf="@id/content_box_frame_container"
/>
<include
android:id="@+id/content_box_frame_container"
layout="@layout/mappo_player"
android:layout_width="436dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginBottom="12dp"
android:layout_marginTop="23dp"
app:layout_constraintTop_toBottomOf="@id/maneuverView"
app:layout_constraintStart_toStartOf="parent"
/>
<include
android:id="@+id/route_overview_container"
layout="@layout/route_overview_layout"
android:layout_width="493dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginBottom="12dp"
android:layout_marginTop="23dp"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<include
android:id="@+id/direction_component"
layout="@layout/direction_layout"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<include
android:id="@+id/map_controlss"
layout="@layout/map_controls"
android:visibility="visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="14dp"
android:layout_marginEnd="19dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:ignore="RtlSymmetry" />
<!-- Framelayout to display Fragments -->
</androidx.constraintlayout.widget.ConstraintLayout>
`
Landscape code :
`
<androidx.constraintlayout.widget.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:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
android:id="@+id/mapboxView"
tools:context=".Screens.MapBoxScreen.MapBoxActivity">
<com.mapbox.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:mapbox_cameraTargetLat="40.7128"
app:mapbox_cameraTargetLng="-74.0060"
app:mapbox_logoEnabled="false"
app:mapbox_attributionEnabled="false"
app:mapbox_cameraZoom="14.0"/>
<include
android:id="@+id/where_to_sound_home"
layout="@layout/where_to_home_sound_item"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:ignore="RtlSymmetry" />
<include
android:id="@+id/direction_component"
layout="@layout/direction_layout"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.mapbox.navigation.ui.maneuver.view.MapboxManeuverView
android:id="@+id/maneuverView"
android:layout_width="0dp"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_margin="4dp"
style="@style/MapboxCustomManeuverStyle"
app:layout_constraintEnd_toEndOf="@id/content_box_frame_container"
app:layout_constraintStart_toStartOf="@id/content_box_frame_container"
app:layout_constraintBottom_toTopOf="@id/content_box_frame_container"
/>
<include
android:id="@+id/content_box_frame_container"
layout="@layout/mappo_player"
android:layout_width="436dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginBottom="12dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
/>
<include
android:id="@+id/route_overview_container"
layout="@layout/route_overview_layout"
android:layout_width="493dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginBottom="12dp"
android:layout_marginTop="23dp"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
/>
<include
android:id="@+id/map_controlss"
layout="@layout/map_controls"
android:visibility="visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:layout_marginEnd="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:ignore="RtlSymmetry" />
</androidx.constraintlayout.widget.ConstraintLayout>
`
Navigation SDK: "com.mapbox.navigation:android:2.9.4"
Screenshots :
Landscape:

Portraite :

コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、issue に示されている縦向きと横向きの ConstraintLayout 定義を比較します。特に、MapboxManeuverView と content_box_frame_container の制約を確認してください。横向きのレイアウトで maneuver view の幅がどのように決まるかを確認し、そのうえで、コンテナの幅を変更すると両方の向きで期待どおり maneuver view も変更されることを確認してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, kotlin
- 領域
- mobile-dev
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100