Diferencia entre revisiones de «PDM Eventos nos views»
Ir a la navegación
Ir a la búsqueda
| Línea 178: | Línea 178: | ||
==TextView== | ==TextView== | ||
| − | * Neste control poderíamos querer facer algo cando clickeamos sobre o texto | + | * Neste control poderíamos querer facer algo cando clickeamos sobre o texto. |
| + | |||
| + | ===Evento Click=== | ||
| + | |||
| + | * Como [https://wiki.cifprodolfoucha.es/index.php?title=PDM_Xesti%C3%B3n_de_Eventos expliquei anteriormente] o evento Click xestionase dende a Interface OnClickListener mediante o método setOnClickListener que se atopa definido na clase View e polo tanto a forma de xestionalo sempre é a mesma. | ||
| + | |||
| + | * Código de exemplo: | ||
| + | |||
| + | |||
| + | |||
<br /> | <br /> | ||
| + | |||
==EditText== | ==EditText== | ||
<br /> | <br /> | ||
Revisión del 19:25 14 nov 2020
Sumario
Introducción
- Neste punto imos ver como xestionar os principais eventos que se poidan producir nos Views que vimos na Unidade 2.
- Lembrar que xa está posta nun punto anterior a explicación de como funcionan as interfaces e como asocialas aos Views empregando o método setOnZZZZZZZ correspondente.
- Nota: En moitos controis, o evento principal que ides querer controlar, será o 'Click' sobre o mesmo. Lembrar que xa vimos no punto anterior que o método que rexistra dito evento está definido na clase View e polo tanto ides poder xestionar da mesma forma o evento Click en calquera View que teñades.
Preparando a Activity
- Imos crear unha única Activity onde estarán todos os Views que imos analizar (o ListView/Spinner/RecyclerView serán analizados na Unidade 4.
- Crea un paquete Eventos e dentro del imos crear unha nova 'Empty Activity' de nome: UD03_01_xesteventos_base de tipo Launcher.
- Modifica o arquivo AndroidManifiest.xml e engade unha label á activity como xa vimos na creación do proxecto base.
Código do Layout:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="cifprodolfoucha.aprendiendo.Eventos.UD03_01_xesteventos_base">
<TextView
android:id="@+id/txvTextoTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Texto Text View"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/etvTextoEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:ems="10"
android:hint="Texto Edit Text"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txvTextoTextView" />
<Button
android:id="@+id/btnBoton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginBottom="8dp"
android:text="BOTÓN"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageButton
android:id="@+id/imgbtnImageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/btnBoton"
app:srcCompat="@android:drawable/star_on" />
<CheckBox
android:id="@+id/chk_Uno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Check Uno"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etvTextoEditText" />
<CheckBox
android:id="@+id/chk_Dos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Check Dos"
app:layout_constraintStart_toEndOf="@+id/chk_Uno"
app:layout_constraintTop_toBottomOf="@+id/etvTextoEditText" />
<CheckBox
android:id="@+id/chk_Tres"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Check Tres"
app:layout_constraintStart_toEndOf="@+id/chk_Dos"
app:layout_constraintTop_toBottomOf="@+id/etvTextoEditText" />
<RadioGroup
android:id="@+id/rgrpGrupoBotons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:checkedButton="@id/rbtnIOpcionA"
android:orientation="horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chk_Uno">
<RadioButton
android:id="@+id/rbtnIOpcionA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Opción A)" />
<RadioButton
android:id="@+id/rbtnOpcionB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Opción B)" />
</RadioGroup>
<ToggleButton
android:id="@+id/tbtnToogleBoton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="ToggleButton"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/rgrpGrupoBotons" />
<Switch
android:id="@+id/swbSwitchButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Switch"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tbtnToogleBoton" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fabFloatActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:clickable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@android:drawable/ic_input_add" />
<ImageView
android:id="@+id/imageView"
android:layout_width="114dp"
android:layout_height="97dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="#AC2727"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swbSwitchButton"
app:srcCompat="@android:drawable/btn_star_big_on" />
</androidx.constraintlayout.widget.ConstraintLayout>
TextView
- Neste control poderíamos querer facer algo cando clickeamos sobre o texto.
Evento Click
- Como expliquei anteriormente o evento Click xestionase dende a Interface OnClickListener mediante o método setOnClickListener que se atopa definido na clase View e polo tanto a forma de xestionalo sempre é a mesma.
- Código de exemplo:
EditText
Button
- O principal evento que queremos xestionar nun botón é o Click sobre o mesmo.
- Dito evento está asociado á interface OnClickListener.
FloatActionButton
ToggleButton
ImageButton
CheckBox
RadioButton-RadioGroup
ListView-Spinner
- A xestión de eventos destes controis o veremos na UD4-Adaptadores.
Enlace a la página principal de la UD3
Enlace a la página principal del curso
-- Ángel D. Fernández González -- (2020).
