bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


android_canvas

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
android_canvas [2025/11/11 01:28]
enric_mieza_sanchez [Android Canvas : Views Personalitzades]
android_canvas [2025/11/11 01:53] (actual)
enric_mieza_sanchez [Aplicar-hi canvis]
Línia 1: Línia 1:
 ====== Android Canvas : Views Personalitzades ====== ====== Android Canvas : Views Personalitzades ======
  
-Article de referència[[Android]]+{{ android:display_canvas.png?200}}
  
-En aquest article veiem com crear una ''View'' o //widget// personalitzat, dibuixant directament sobre ell amb el l'objecte ''Canvas''.+Article de referència: [[Android]]
  
-{{ android:display_canvas.png?200 }}+En aquest article veiem com crear una ''View'' o //widget// personalitzat, dibuixant directament sobre ell amb l'objecte ''Canvas''.
  
 {{tag> #Dam #DamMp08 #DamMp08Uf1 #DamMp08Uf01 #DamMp08Uf2 Android mobile kotlin }} {{tag> #Dam #DamMp08 #DamMp08Uf1 #DamMp08Uf01 #DamMp08Uf2 Android mobile kotlin }}
Línia 59: Línia 59:
 La manera més fàcil és afegir una View genèrica amb la interfície gràfica, amb els tamanys que ens convingui, i després anar al codi XML i canviar el tipus de //widget// per la nova ''class'' que hem creat. La manera més fàcil és afegir una View genèrica amb la interfície gràfica, amb els tamanys que ens convingui, i després anar al codi XML i canviar el tipus de //widget// per la nova ''class'' que hem creat.
  
-Segurament quedaria similar a:+Canviariem l'element ''<View ...>'' per ''<com.myuser.myapp.MyClass ...>'' 
 + 
 +Segurament quedaria similar a aquest exemple (dins d'una //constraint layout//):
  
 <code xml activity_main.xml> <code xml activity_main.xml>
-    <com.myuser.myapp.Display +<com.myuser.myapp.Display 
-        android:id="@+id/display" +    android:id="@+id/display" 
-        android:layout_width="300dp" +    android:layout_width="300dp" 
-        android:layout_height="300dp" +    android:layout_height="300dp" 
-        app:layout_constraintBottom_toBottomOf="parent" +    app:layout_constraintBottom_toBottomOf="parent" 
-        app:layout_constraintEnd_toEndOf="parent" +    app:layout_constraintEnd_toEndOf="parent" 
-        app:layout_constraintStart_toStartOf="parent" +    app:layout_constraintStart_toStartOf="parent" 
-        app:layout_constraintTop_toTopOf="parent" />+    app:layout_constraintTop_toTopOf="parent" />
 </code> </code>
  
 \\ \\
  
-===== Aplicar-hi canvis =====+===== Aplicar canvis als dibuixos sobre el widget =====
  
 El més còmode per dibuixar-hi de forma dinàmica és posar el codi dins de la nova classe ''Display'' i repintar sempre tota la ''View''. El més còmode per dibuixar-hi de forma dinàmica és posar el codi dins de la nova classe ''Display'' i repintar sempre tota la ''View''.
  
-Per forçar que es repinti podem cridar la funció ''invalidate()'', la qual acabarà amb la crida a ''onDraw'' que hem implementat:+Per forçar que es repinti podem cridar la funció ''View.invalidate()'', la qual acabarà amb la crida a ''onDraw'' que hem implementat:
  
 <code kotlin> <code kotlin>
android_canvas.1762824510.txt.gz · Darrera modificació: 2025/11/11 01:28 per enric_mieza_sanchez