Как исправить это плавающие кнопки? - PullRequest
0 голосов
/ 12 января 2020

Кнопки выглядят плохо. Кнопки находятся на краю устройства, а значки находятся не по центру. Я новичок в android. Вот мой код макета.

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:mapbox="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<com.mapbox.mapboxsdk.maps.MapView
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    mapbox:mapbox_cameraZoom="15"
    mapbox:mapbox_cameraZoomMax="17"
    mapbox:mapbox_cameraZoomMin="8" >

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab_location_search"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="320dp"
        android:layout_marginLeft="320dp"
        android:layout_marginTop="60dp"
        android:tint="@android:color/white"
        app:backgroundTint="@color/colorPrimary"
        app:srcCompat="@android:drawable/ic_search_category_default" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/status_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="320dp"
        android:layout_marginLeft="320dp"
        android:layout_marginTop="150dp"
        android:tint="@android:color/white"
        app:backgroundTint="@color/colorPrimary"
        app:srcCompat="@android:drawable/ic_menu_more" />
    </com.mapbox.mapboxsdk.maps.MapView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

Какой макет мне использовать? Какой макет я должен использовать? Какой макет я должен использовать?

enter image description here

Ответы [ 2 ]

1 голос
/ 12 января 2020

Для значков решением является использование атрибута android: scaleType = "center, пример кода ниже:

<android.support.design.widget.FloatingActionButton
                android:id="@+id/search_fab"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:scaleType="center"
                android:layout_marginEnd="10dp"
                android:src="@drawable/fab_search_icon"
                app:backgroundTint="@color/colorPrimary"
                app:elevation="4dp"
                app:fabSize="normal"/>
0 голосов
/ 12 января 2020

Вы установили фиксированный marginStart, который работал некорректно для всех устройств. Вместо этого используйте layout_gravity с end и некоторым запасом. Проверьте ниже:

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/fab_location_search"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end"
    android:layout_marginEnd="16dp"
    android:layout_marginTop="60dp"
    android:tint="@android:color/white"
    app:backgroundTint="@color/colorPrimary"
    app:srcCompat="@android:drawable/ic_search_category_default" />

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/status_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end"
    android:layout_marginEnd="16dp"
    android:layout_marginTop="150dp"
    android:tint="@android:color/white"
    app:backgroundTint="@color/colorPrimary"
    app:srcCompat="@android:drawable/ic_menu_more" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...