Как я могу добавить новый «плавающий кнопку Действие" между двумя виджеты / макеты

? Waza_Be @ | Original: StackOverFlow
---

Я думаю, вы видели новые руководящие принципы для Android дизайна, с новым « Плавучий кнопку Действие " ака " FAB "

Например, это Красная кнопка:

Как я могу добавить новый «плавающий кнопку Действие" между двумя виджеты / макеты

Мой вопрос звучит глупо, и я уже пробовал много вещей, но то, чтолучший способ поставить эту кнопку на пересечении двух макетов ?

В приведенном выше Exemple, эта кнопка идеально помещается между тем, что мы можем себе представить, чтобы бытьImageView иRelativeLayout .

Я уже пробовал много настроек, но я убежден, что этоправильный способ сделать это.

Большое спасибо за разделение Ваших идей.

---

Top 5 ответ

1Dre @

Я просто смотрел следующий разговор, и думаю, что это может объяснить этот процесс.

https://www.youtube.com/watch?v=ctzWKRlTYHQ?t=18m44s

Топ ImageView следует keyline, следовательно,размещение кнопки можно легко сделать . Например Топ ImageView является 112dp на мобильный ( 56dp х 2 ). ЕслиFAB является 56dp то он должен иметь layout_marginTop из 56dp ( высота FAB ) + 28dp (половинавысоты второго окна 56dp ) = 84dp .

Это именно то, что я понял . Я надеюсь, что это имеет смысл, и поможет вам как-то.

2Oleksii Kropachov @

Попробуйте https://github.com/shamanland/floating-action-button ( http://shamanland.github.io/floating-action-button/com/shamanland/fab/FloatingActionButton.html ) :

dependencies {
    compile 'com.shamanland:fab:0.0.5'
}

Он обеспечивает единый виджет с возможностью настройки его с помощью тематического, XML или Java -кода .

Как я могу добавить новый «плавающий кнопку Действие" между двумя виджеты / макеты  Как я могу добавить новый «плавающий кнопку Действие" между двумя виджеты / макеты

Это очень простой в использовании . Есть доступны normal и mini реализация в соответствии с http://www.google.com/design/spec/patterns/promoted-actions.html рисунком.

<com.shamanland.fab.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_action_my"
    app:floatingActionButtonColor="@color/my_fab_color"
    app:floatingActionButtonSize="mini"
    />

Попробуйте скомпилировать https://github.com/shamanland/floating-action-button . Существует исчерпывающий пример: светлые и темные темы, используя с ListView, совместите между двумя представлениями.

3nathandrake @

Наткнулся на этот пост в то время как я пытался реализовать его в моем проекте http://www.bignerdranch.com/blog/floating-action-buttons-in-android-l/ Что мне нравится в ней оно не требует использования библиотеками сторонних производителей.

4Hugh Jeffner @

Похоже,чистый способ в этом примере заключается в следующем:

Use a RelativeLayout Position the 2 adjacent views one below the other Align the FAB to the parent right/end and add a right/end margin Align the FAB to the bottom of the header view and add a negative margin, half the size of the FAB including shadow

Пример (взято из реализации shamanland ), предположим, FAB является 64DP высокого включая тени

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <View
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="120dp"
    />

    <View
        android:id="@+id/body"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/header"
    />

    <whatever.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignBottom="@id/header"
        android:layout_marginBottom="-32dp"
        android:layout_marginRight="20dp"
    />

</RelativeLayout>
5Dalvik VM @

Вы можете импортировать пример проекта Google в Android Студия, нажав File> Import Sample ...

Как я могу добавить новый «плавающий кнопку Действие" между двумя виджеты / макеты

Этот образец содержит FloatingActionButton зрения, которая наследуется от FrameLayout .