Publicado en Android, Recursos

Plantilla con validación de campos


Plantilla para crear un formulario funcional, petición de datos y con validación de campos en tiempo de escritura.

En esta plantilla se incluye lo siguiente:

  • LinearLayout
  • TextInputLayout
  • TextInputEditText
  • AppCompatButton
  • ValidatorFieldHelper
  • ValidationMainFields
  • Extensiones Kotlin
Sigue leyendo “Plantilla con validación de campos”
Publicado en Android, Recursos

Plantilla Base – CoordinatorLayout


Esta plantilla crea una app simple con una barra de herramientas superior y un botón de acción flotante. Funciona como punto de partida para tu proyecto porque proporciona componentes de IU de uso común.

En esta plantilla se incluye lo siguiente:

  • CoordinatorLayout
  • AppBarLayout
  • ToolBarLayout
  • Toolbar
  • FloatingBarButton
  • ConstraintLayout

Plantilla base

Layout activity_main.xml conformado con

<?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:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="?attr/actionBarTheme">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="?attr/actionBarPopupTheme" />

    </com.google.android.material.appbar.AppBarLayout>

    <include layout="@layout/content_main" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        app:backgroundTint="?attr/colorAccent"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_input_add" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Contenedor

Archivo content_main.xml

<androidx.constraintlayout.widget.ConstraintLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:showIn="@layout/activity_main"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
>
...
</androidx.constraintlayout.widget.ConstraintLayout >

Código Kotlin

Archivo MainActivity.kt

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        setSupportActionBar(toolbar)


        fab.setOnClickListener {
            Toast.makeText(this@MainActivity, "FAB is clicked...", Toast.LENGTH_LONG).show()
        }
    }
}