Eu acho que você viu as novas diretrizes de design para Android, com o novo "Botão de ação flutuante", também conhecido como "FAB"
Por exemplo, este botão rosa:
Minha pergunta parece estúpida, e eu já tentei muitas coisas, mas qual é a melhor maneira de colocar esse botão na interseção de dois layouts?
No exemplo acima, esse botão está perfeitamente posicionado entre o que podemos imaginar como um ImageView e um relativoLayout.
Eu já tentei muitos ajustes, mas estou convencido de que existe uma maneira adequada de fazer isso.
Respostas:
Melhor prática:
compile 'com.android.support:design:25.0.1'
ao arquivo gradleCoordinatorLayout
como visualização raiz.layout_anchor
ao FAB e defina-o para a vista superiorlayout_anchorGravity
ao FAB e configure-o para:bottom|right|end
fonte
CoordinatorLayout
elayout_anchor
elayout_anchorGravity
características, como o que ele está usando, futuresimples .CoordinatorLayout
abordagem com essa biblioteca, veja . E também há um garfo para versões mais antigas.Parece que a maneira mais limpa neste exemplo é:
Exemplo adaptado da implementação de shamanland, use o FAB que você desejar. Suponha que o FAB tenha 64dp de altura, incluindo sombra:
fonte
FAB
por futuresimple - é muito simples de adicionar e usar, divirta-se!Você pode importar o projeto de amostra do Google no Android Studio clicando em Arquivo> Importar amostra ...
Este exemplo contém uma exibição FloatingActionButton que herda de FrameLayout.
Editar Com a nova Biblioteca de Design de Suporte, você pode implementá-la como neste exemplo: https://github.com/chrisbanes/cheesesquare
fonte
Com o AppCompat 22, o FAB é suportado para dispositivos mais antigos.
Adicione a nova biblioteca de suporte ao seu build.gradle (app):
Então você pode usá-lo em seu xml:
Para usar
elevation
epressedTranslationZ
propriedades,app
é necessário um espaço para nome; portanto, adicione esse espaço para seu layout:xmlns:app="http://schemas.android.com/apk/res-auto"
fonte
app
espaço para nomeAgora faz parte da Biblioteca oficial de suporte a projetos.
No seu gradle:
http://developer.android.com/reference/android/support/design/widget/FloatingActionButton.html
fonte
Experimente esta biblioteca (o javadoc está aqui ), o nível mínimo da API é 7:
Ele fornece um único widget com a capacidade de personalizá-lo via Theme, xml ou java-code.
É muito simples de usar. Há disponibilidade
normal
emini
implementação de acordo com o padrão de Ações Promovidas .Tente compilar o aplicativo de demonstração . Há um exemplo exaustivo: temas claros e escuros, usando com
ListView
, alinhar entre dois modos de exibição .fonte
Aqui está uma biblioteca adicional de botão de ação flutuante gratuita para Android . Possui muitas personalizações e requer o SDK versão 9 e superior
Vídeo de demonstração completo
fonte
Mantenha-o simples Adicionando botão de ação flutuante usando o TextView, fornecendo um fundo xml arredondado. - Adicionar compilação
com.android.support:design:23.1.1
ao arquivo gradleO círculo Xml é
O xml de layout é
Clique aqui para ver como será
fonte
Adicione isso ao seu arquivo gradle
Isso para o seu activity_main.xml
Você pode encontrar o exemplo completo com o projeto android studio para fazer o download em http://www.ahotbrew.com/android-floating-action-button/
fonte
aqui está o código de trabalho.
eu uso appBarLayout para ancorar meu floatingActionButton.Espero que isso possa ser útil.
CÓDIGO XML.
Agora, se você colar o código acima. você verá o seguinte resultado no seu dispositivo.
fonte