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 [2022/02/23 19:29] enrique_mieza_sanchez |
materialize [2024/12/03 16:05] (actual) enric_mieza_sanchez [Pestanyes d'aplicació (tabs)] |
||
|---|---|---|---|
| Línia 5: | Línia 5: | ||
| Estava dirigit a ser " | Estava dirigit a ser " | ||
| - | La web principal és https:// | + | Referències: |
| + | * Web antiga: | ||
| + | * Web actual: https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| - | {{ materialize.svg }} | + | |
| + | {{ materialize.svg?300 }} | ||
| Línia 17: | 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 24: | Línia 30: | ||
| \\ | \\ | ||
| - | ===== Instal·lació | + | ===== Grid (la quadrícula) ===== |
| + | 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 // | ||
| + | |||
| + | <WRAP todo> | ||
| + | - Llegeix la [[https:// | ||
| + | - Descarrega el //starter template// de la secció [[https:// | ||
| + | - Modifica' | ||
| + | * (s)mall screen: 1 sol element | ||
| + | * (m)edium screen: 2 elements | ||
| + | * (l)arge screen: 4 elements | ||
| + | - 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' | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Creació projecte Cordova | ||
| - | Creem el nostre projecte | + | Si volem treballar en [[Cordova]] podem crear un projecte així: |
| $ cordova create materialapp | $ cordova create materialapp | ||
| Línia 34: | 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 41: | 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 49: | Línia 79: | ||
| Copiem els '' | Copiem els '' | ||
| - | <sxh html> | + | <WRAP prewrap> |
| + | <file html index.html> | ||
| <meta http-equiv=" | <meta http-equiv=" | ||
| <meta name=" | <meta name=" | ||
| Línia 55: | Línia 86: | ||
| <meta name=" | <meta name=" | ||
| <meta name=" | <meta name=" | ||
| - | </sxh> | + | </file> |
| + | </WRAP> | ||
| Engega-ho en el browser i assegura' | Engega-ho en el browser i assegura' | ||
| Línia 61: | Línia 93: | ||
| Afegeix també els scripts al final de la pàgina, hauria de quedar algo així: | Afegeix també els scripts al final de la pàgina, hauria de quedar algo així: | ||
| - | <sxh html> | + | <WRAP prewrap> |
| + | <file html index.html> | ||
| < | < | ||
| <script src=" | <script src=" | ||
| Línia 67: | Línia 100: | ||
| <script src=" | <script src=" | ||
| <script src=" | <script src=" | ||
| - | </sxh> | + | </file> |
| + | </WRAP> | ||
| A '' | A '' | ||
| - | <sxh js> | + | <file javascript |
| - | // Arxiu init.js | + | |
| (function($){ | (function($){ | ||
| $(function(){ | $(function(){ | ||
| - | |||
| $(' | $(' | ||
| - | |||
| }); // end of document ready | }); // end of document ready | ||
| })(jQuery); // end of jQuery name space | })(jQuery); // end of jQuery name space | ||
| Línia 91: | Línia 121: | ||
| // | // | ||
| } | } | ||
| - | </sxh> | + | </file> |
| + | |||
| + | 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. | ||
| - | Arrenquem de nou amb el browser i comprovem | + | Comprova |
| + | - Revisa que no hi hagi missatges d' | ||
| + | - Comprova que el menú lateral funciona quan cliquem el //hamburger menu//. | ||
| + | </ | ||
| \\ | \\ | ||
| Línia 100: | Línia 159: | ||
| 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 123: | Línia 177: | ||
| <file css style.css> | <file css style.css> | ||
| + | /* | ||
| + | * ...deixar els continguts que existissin prèviament... | ||
| + | */ | ||
| + | |||
| + | /* body fix: perquè ocupi tota la pantalla */ | ||
| html, body { | html, body { | ||
| height: 100vh; | height: 100vh; | ||
| Línia 131: | 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%; | ||
| + | overflow-y: scroll !important; | ||
| } | } | ||
| </ | </ | ||
| Línia 142: | 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/ |
| - | <sxh js> | + | <code javascript> |
| - | // canviem al tab 2 | + | // canviem al tab 2 |
| - | var tabs = document.getElementById(" | + | var tabs = document.getElementById(" |
| - | var tabsInstance = M.Tabs.getInstance(tabs); | + | var tabsInstance = M.Tabs.getInstance(tabs); |
| - | tabsInstance.select(" | + | tabsInstance.select(" |
| - | </sxh> | + | </code> |
| + | |||
| + | Si ho volem fer amb jQuery també tenim aquesta alternativa, | ||
| + | <code javascript> | ||
| + | $('# | ||
| + | </code> | ||
| \\ | \\ | ||
| Línia 155: | 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 165: | 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' | ||