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' |