Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
materialize [2023/02/01 19:59] enric_mieza_sanchez [Instal·lació] |
materialize [2024/12/03 16:05] (actual) enric_mieza_sanchez [Pestanyes d'aplicació (tabs)] |
||
---|---|---|---|
Línia 6: | Línia 6: | ||
Referències: | Referències: | ||
- | * Web principal: https:// | + | * Web antiga: https:// |
+ | * Web actual: https:// | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | + | * [[https:// |
+ | * [[https:// | ||
- | {{ materialize.svg }} | + | |
+ | {{ materialize.svg?300 }} | ||
Línia 20: | Línia 23: | ||
===== Context ===== | ===== Context ===== | ||
Tenim bàsicament 2 interessos per treballar amb Materialize CSS: | Tenim bàsicament 2 interessos per treballar amb Materialize CSS: | ||
- | * Si estem treballant en una web que volem que sigui responsive. | + | |
- | * Si estem treballant en aplicacions mòbils basades en HTML i CSS com [[Cordova]]. | + | * Si estem treballant en aplicacions mòbils basades en HTML i CSS com [[Cordova]]. |
Aquest article treballa Materialize assumint que estem en un context del // | Aquest article treballa Materialize assumint que estem en un context del // | ||
Línia 28: | Línia 31: | ||
===== Grid (la quadrícula) ===== | ===== Grid (la quadrícula) ===== | ||
- | La part més important del Material Design, en el què respecta a la // | + | La part més important del Material Design, en el què respecta a la // |
El referent històric més conegut és Twitter Bootstrap, un dels // | El referent històric més conegut és Twitter Bootstrap, un dels // | ||
<WRAP todo> | <WRAP todo> | ||
- | - Llegeix la [[https://materializecss.com/ | + | - Llegeix la [[https://materializeweb.com/ |
- | - Descarrega el //starter template// de la secció [[https://materializecss.com/ | + | - Descarrega el //starter template// de la secció [[https://materializeweb.com/ |
- Modifica' | - Modifica' | ||
* (s)mall screen: 1 sol element | * (s)mall screen: 1 sol element | ||
Línia 40: | Línia 43: | ||
* (l)arge screen: 4 elements | * (l)arge screen: 4 elements | ||
- Aplica noves icones de [[https:// | - Aplica noves icones de [[https:// | ||
+ | - Crea títol i text per a 6 notícies (pots utilitzar ChatGPT o similars). | ||
+ | - Crea imatges amb IA per a les notícies. | ||
+ | - Formata les notícies amb l' | ||
</ | </ | ||
Línia 54: | Línia 60: | ||
\\ | \\ | ||
- | ===== Primera plantilla ===== | + | ===== Primera plantilla |
- | Descarrega el Starter-Template al final d' | + | <WRAP info> |
+ | L' | ||
+ | </ | ||
+ | |||
+ | Descarrega el Starter-Template al final d' | ||
Copia els arxius CSS i JS a les carpetes del projecte cordova (www). | Copia els arxius CSS i JS a les carpetes del projecte cordova (www). | ||
Línia 61: | Línia 71: | ||
Pel què fa a index.html no el podem copiar directament ja que necessitem barrejar els dos arxius. | Pel què fa a index.html no el podem copiar directament ja que necessitem barrejar els dos arxius. | ||
- | Fes un backup del template index.html de Cordova i llavors sí, copia '' | + | Fes un backup del template |
Comprova que el visualitzem correctament: | Comprova que el visualitzem correctament: | ||
Línia 113: | Línia 123: | ||
</ | </ | ||
- | Arrenquem de nou amb el browser i comprovem que a la consola de Javascript no tenim cap error. | + | Arrenquem de nou amb el //browser// i comprovem que a la consola de Javascript no tenim cap error. |
- | \\ | + | <WRAP important> |
+ | Si us dona un error tipus: " | ||
+ | Una [[https:// | ||
+ | |||
+ | $ cordova plugin add cordova-plugin-device | ||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP info> | ||
+ | Ull, perquè el " | ||
+ | <file html index.html> | ||
+ | <script src=" | ||
+ | </ | ||
+ | |||
+ | Si executessim l'app en algun lloc sense cobertura, no funcionaria ja que li faltaria la llibreria de jQuery. Seria més adient descarregar la llibreria a la carpeta '' | ||
+ | <file html index.html> | ||
+ | <script src=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | Segueix totes les passes indicades per disposar d'una app Cordova amb el //starter template// de MaterializeCSS. | ||
+ | |||
+ | Comprova que funciona correctament: | ||
+ | - Revisa que no hi hagi missatges d' | ||
+ | - Comprova que el menú lateral funciona quan cliquem el //hamburger menu//. | ||
+ | </ | ||
+ | |||
+ | \\ | ||
===== Pestanyes d' | ===== Pestanyes d' | ||
El primer que necessitarem per tenir una aplicació mòbil decent serà disposar de diversos TABs o pestanyes o seccions de l' | El primer que necessitarem per tenir una aplicació mòbil decent serà disposar de diversos TABs o pestanyes o seccions de l' | ||
- | [[https://materializecss.com/ | + | [[https://materializeweb.com/ |
Elimina els continguts interns del projecte (deixa els encapçalaments, | Elimina els continguts interns del projecte (deixa els encapçalaments, | ||
- | Aquest component (els tabs) necessita ser inicialitzat amb les opcions adequades. Per activar-ho hauràs d'aplicar un codi similar a això a '' | + | Aquest component (els tabs) necessita ser inicialitzat amb les opcions adequades. Per activar-ho hauràs d'afegir aquest |
<sxh js> | <sxh js> | ||
+ | window.onload = (event) => { | ||
+ | console.log(" | ||
var options = { " | var options = { " | ||
- | var el = document.getElementById(' | + | var el = document.getElementsByClassName(' |
var instance = M.Tabs.init(el, | var instance = M.Tabs.init(el, | ||
- | </ | + | }; |
- | + | ||
- | Com pots veure, Materialize pot utilitzar jQuery però tampoc és imprescindible (a la majoria de plugins). | + | |
- | + | ||
- | Si volem utilitzar la versió jQuery sería d' | + | |
- | + | ||
- | <sxh js> | + | |
- | $(' | + | |
</ | </ | ||
Línia 148: | Línia 181: | ||
*/ | */ | ||
+ | /* body fix: perquè ocupi tota la pantalla */ | ||
html, body { | html, body { | ||
height: 100vh; | height: 100vh; | ||
Línia 156: | Línia 190: | ||
} | } | ||
+ | /* | ||
+ | * afegir la class tabs-content a cada div de contingut | ||
+ | * per solucionar el contingut scollable de cada pestanya | ||
+ | */ | ||
.tabs-content { | .tabs-content { | ||
height: 100%; | height: 100%; | ||
Línia 168: | Línia 206: | ||
Si volem obrir una pestanya des d'una altra, caldrà fer una crida a l' | Si volem obrir una pestanya des d'una altra, caldrà fer una crida a l' | ||
- | Mirant la [[https://materializecss.com/ | + | Mirant la [[https://materializeweb.com/ |
<code javascript> | <code javascript> | ||
Línia 186: | Línia 224: | ||
===== Menú lateral (sidenav) ===== | ===== Menú lateral (sidenav) ===== | ||
- | Mira el [[https://materializecss.com/ | + | Mira el [[https://materializeweb.com/ |
Implementa un menú més complert amb diversos menus disponibles. | Implementa un menú més complert amb diversos menus disponibles. | ||
Línia 196: | Línia 234: | ||
Per tenir una aplicació a full ens caldran aquest tipus de recursos, molt ben estilitzats. Fes-li un cop d'ull a tots ells, imprescindibles! | Per tenir una aplicació a full ens caldran aquest tipus de recursos, molt ben estilitzats. Fes-li un cop d'ull a tots ells, imprescindibles! | ||
- | * [[https://materializecss.com/ | + | * [[https://materializeweb.com/ |
- | * [[https://materializecss.com/ | + | * [[https://materializeweb.com/ |
- | * Els imprescindibles [[https://materializecss.com/ | + | * Els imprescindibles [[https://materializeweb.com/ |
- | * El famós [[https://materializecss.com/ | + | * El famós [[https://materializeweb.com/ |
- | * Obrir un [[https://materializecss.com/ | + | * Obrir un [[https://materializeweb.com/ |
I no deixeu d' | I no deixeu d' |