{"id":1675,"date":"2018-10-31T12:54:49","date_gmt":"2018-10-31T18:54:49","guid":{"rendered":"http:\/\/naps.com.mx\/blog\/?p=1675"},"modified":"2018-10-31T23:12:06","modified_gmt":"2018-11-01T05:12:06","slug":"crear-un-floating-action-button-en-android","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/crear-un-floating-action-button-en-android\/","title":{"rendered":"Crear un Floating Action Button en Android"},"content":{"rendered":"<p><em><strong>Un Floating Action Button es un bot\u00f3n circular flotante que aparece en la parte inferior derecha de la pantalla que nos permite ejecutar una acci\u00f3n habitual dentro de una aplicaci\u00f3n. Com\u00fanmente se abrevia como FAB y es un elemento de interfaz bastante utilizado junto con elementos ListView.\u00a0Veamos c\u00f3mo utilizarlo en nuestra aplicaci\u00f3n.<\/strong><\/em><\/p>\n<p><!--more--><\/p>\n<p>Abre tu archivo <em><strong>activity_main.xml<\/strong><\/em> (el que tiene el dise\u00f1o de la app).<\/p>\n<p>En el archivo <em><strong>activity_main.xml<\/strong><\/em> vamos a colocar un componente ListView.<span class=\"Apple-converted-space\">\u00a0 \u00a0<\/span><\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;ListView\r\n\u00a0 \u00a0 android:id=\"@+id\/listView\"\r\n\u00a0 \u00a0 android:layout_width=\"match_parent\"\r\n\u00a0 \u00a0 android:layout_height=\"match_parent\"\r\n\u00a0 \u00a0 android:layout_marginBottom=\"8dp\"\r\n\u00a0 \u00a0 android:layout_marginTop=\"8dp\"\r\n\u00a0 \u00a0 app:layout_constraintBottom_toBottomOf=\"parent\"\r\n\u00a0 \u00a0 app:layout_constraintTop_toTopOf=\"parent\"\r\n\u00a0 \u00a0 app:layout_constraintEnd_toEndOf=\"parent\"\r\n\u00a0 \u00a0 tools:layout_editor_absoluteX=\"2dp\" \/&gt;<\/pre>\n<p>Para utilizar el Floating Action Button debemos agregar una nueva librer\u00eda.<\/p>\n<h2>Agregar librer\u00eda a gradle<\/h2>\n<p>En el archivo gradle (<em>\/app\/build.gradle),<\/em> en la secci\u00f3n de dependencias (<em>dependencies<\/em>) a\u00f1adimos esta linea:<\/p>\n<p><strong>compile \u2018com.android.support:design:26.+\u2019<\/strong><\/p>\n<p>Mi archivo gradle lleva esta apariencia (no debe ser id\u00e9ntico en tu caso).<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<div id=\"attachment_1678\" style=\"width: 1116px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/04-AgregarSupporDesign.jpeg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1678\" class=\"size-full wp-image-1678\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/04-AgregarSupporDesign.jpeg\" alt=\"Librer\u00eda necesaria para el Floating Action Button\" width=\"1106\" height=\"912\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/04-AgregarSupporDesign.jpeg 1106w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/04-AgregarSupporDesign-300x247.jpeg 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/04-AgregarSupporDesign-768x633.jpeg 768w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/04-AgregarSupporDesign-1024x844.jpeg 1024w\" sizes=\"auto, (max-width: 1106px) 100vw, 1106px\" \/><\/a><p id=\"caption-attachment-1678\" class=\"wp-caption-text\">Librer\u00eda necesaria para el Floating Action Button<\/p><\/div>\n<p>Estoy usando ..design:26+ considerando que tengo <em>compileSdkVersion 26<\/em> (puedes verlo en la imagen anterior).<\/p>\n<p>Sincronizamos dando clic en Sync Now.<\/p>\n<h2>Agregar un Floating Action Button<\/h2>\n<p>Volvemos a <strong>activity_main.xml<\/strong> y ya podemos colocar un Floating Action Button<\/p>\n<pre class=\"lang:xhtml decode:true \"> &lt;android.support.design.widget.FloatingActionButton\r\n        android:id=\"@+id\/fabAddBoard\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:src=\"@drawable\/ic_fab_add\"\r\n        android:layout_marginBottom=\"8dp\"\r\n        android:layout_marginEnd=\"8dp\"\r\n        app:layout_constraintBottom_toBottomOf=\"@+id\/listView\"\r\n        app:layout_constraintEnd_toEndOf=\"@+id\/listView\" \/&gt;<\/pre>\n<p>Eso es todo para agregar un Floating Action Button, lo puedes utilizar como un bot\u00f3n normal dentro de tu proyecto Android.<\/p>\n<h2>Agregar una imagen al Floating Action Button<\/h2>\n<p>\u00c9sta l\u00ednea:<span class=\"Apple-converted-space\">\u00a0 <\/span><em><strong>android:src=\u201c@drawable\/ic_fab_add\u00bb<\/strong><\/em> indica la imagen que tendr\u00e1 nuestro bot\u00f3n, en \u00e9ste caso un signo de m\u00e1s (+). Los pasos que se siguen para agregar esa imagen a nuestro proyecto son los siguientes: (en caso de que a\u00fan no sepas hacerlo).<\/p>\n<p>Ve a <em><strong>File -&gt; New -&gt; Image Asset<\/strong><\/em><\/p>\n<p>En <em><strong>Icon Type<\/strong><\/em> seleccionamos Action Bar&#8230;<\/p>\n<p>En <em><strong>Name<\/strong><\/em> escribimos el nombre que daremos a la imagen. En mi caso utilic\u00e9 <em>id_fab_add<\/em><\/p>\n<p>En <em><strong>asset<\/strong> <strong>type<\/strong><\/em> elijo Image<\/p>\n<p>En <em><strong>Path<\/strong><\/em>, eligo la imagen png con el signo de mas (+). Si no cuentas con iconos puedes utilizar <a href=\"https:\/\/materialdesignicons.com\">https:\/\/materialdesignicons.com<\/a>, buscando el que m\u00e1s te guste y se adapte al proyecto.<\/p>\n<div id=\"attachment_1680\" style=\"width: 640px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/05-iconos.jpeg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1680\" class=\"size-full wp-image-1680\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/05-iconos.jpeg\" alt=\"Algunos iconos disponibles en materialdesingicons.com\" width=\"630\" height=\"634\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/05-iconos.jpeg 630w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/05-iconos-150x150.jpeg 150w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2018\/10\/05-iconos-298x300.jpeg 298w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/a><p id=\"caption-attachment-1680\" class=\"wp-caption-text\">Algunos iconos disponibles en materialdesignicons.com<\/p><\/div>\n<p>Pulsa Next.<\/p>\n<p>Pulsa Finish.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un Floating Action Button es un bot\u00f3n circular flotante que aparece en la parte inferior derecha de la pantalla que nos permite ejecutar una acci\u00f3n habitual dentro de una aplicaci\u00f3n. Com\u00fanmente se abrevia como FAB y es un elemento de interfaz bastante utilizado junto con elementos ListView.\u00a0Veamos c\u00f3mo utilizarlo en nuestra aplicaci\u00f3n.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[234],"tags":[198,235,244,238,243],"class_list":["post-1675","post","type-post","status-publish","format-standard","hentry","category-aplicaciones-moviles","tag-android","tag-desarrollo-de-aplicaciones-moviles","tag-list","tag-listview","tag-realm"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/1675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=1675"}],"version-history":[{"count":7,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/1675\/revisions"}],"predecessor-version":[{"id":1697,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/1675\/revisions\/1697"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=1675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=1675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=1675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}