J'essaie de comprendre comment faire une application multi-écran en utilisant Appcelerator Titanium. Je suis familier avec le développement Android, donc en utilisant le SDK Android je créerais quelques activités différentes, chacun faisant son travail différent (écran de connexion, écran affichant la liste des articles, etc.) Quel est l'équivalent en Titanium? Je sais que app.js est la partie principale de l'application, mais je suppose qu'il n'est pas recommandé de mettre tout le code dans ce seul fichier. L'application d'évier de cuisine a beaucoup de fichiers et de fonctionnalités, mais je ne suis pas sûr de savoir comment ils vont tous ensemble. Alors, quelle est la manière recommandée de créer un projet en Titanium pour une application de base avec quelques écrans faisant des choses différentes? Il me manque le concept Titanium d'un écran.Écrans Appcelerator Titanium Mobile App?
Répondre
no ..
vous pouvez le faire comme
var button = Ti.UI.createButton({..});
button.addEventListener('click',function(e){
var window = Ti.UI.createWindow({
url:"../newWindow.js",
title:"newWindow"
});
Titanium.UI.currentTab.open(window,{animated:true});
});
je recommande d'utiliser le MVC-pattern like i already posted here.
fichier app.js est fondamentalement le fichier pour initialiser différents écrans de fenêtre, et utiliser les onglets pour charger les fenêtres screens.Here est un lien pour créer des écrans simples Create Window & Tabs
Pour d'autres propriétés liées à TitaniumUI
Je peux voir comment les fenêtres y sont créées et se déplacer entre eux avec des onglets, mais que faire si j'ai une application sans onglets. Comment puis-je avoir un bouton-clic ouvrir une nouvelle fenêtre (laissant la fenêtre précédente complètement)? – Jake
Vous pouvez ajouter le nouveau code de fenêtre ouverte dans le bouton click event.like: var open_window = Titanium.UI.createButton ({ title: 'Ouvre une nouvelle fenêtre', top: 170, left: 30, right: 30, height: 30 }); open_window.addEventListener ('click', function() {var newWindow = Titanium.UI.createWindow ({ titre: 'Nouvelle fenêtre' }); Titanium.UI.currentTab.open (newWindow, {animée: vrai}); }); –
Cela ressemble plus à ce que j'espérais. Est-ce que cela ouvrira une nouvelle fenêtre et disposera du précédent (celui avec le bouton dessus), ou changera-t-il juste l'écran pour couvrir la fenêtre précédente avec la nouvelle dessus? – Jake
essayez d'utiliser mon code ci-dessous:
// functions
function openHomescreen(e)
{
settings.close();
getlucky.close();
survey.close();
homescreen.url = 'homescreen.js';
homescreen.open();
}
function openGetlucky(e)
{
settings.close();
homescreen.close();
getlucky.url = 'getlucky.js';
getlucky.open();
}
// events
Ti.App.addEventListener('homescreen',openHomescreen);
Ti.App.addEventListener('getlucky',openGetlucky);
openHomescreen({});
Pour ouvrir l'écran d'accueil dans un autre fichier JS, utiliser.
Ti.App.fireEvent('homescreen');
Essayez de faire ceci:
app.js
Tintanium.include('window1.js', 'window2.js');
...
var button1 = Titanium.UI.createButton({...});
button1.addEventListener('click',function(){
window1.open();
});
window1.js
var window1=Titanium.UI.createWindow({...});
...etc...
Espérons que cela aidera;)
Après beaucoup de temps de recherche j'ai trouvé la solution pour ouvrir différentes fenêtres avec un événement de clic attaché à un bouton.
employee.js
//Current window (employee window)
var employeeWin = Ti.UI.currentWindow;
//define button
var moveToDetailBtn = Ti.UI.createButton({
width : 200, //define the width of button
height : 50, //define height of the button
title : 'Show Detail' //Define the text on button
});
//Click event to open the Employee Details window
moveToDetailBtn.addEventListener('click', function(){
//Call a export function
var win = require('employeeDetails').getEmployeeDetailSWin;
//Create new instance
var employeeDetailsWin = new win();
//Open the Employee Details window
employeeDetailsWin.open();
});
//Add the button to the window
employeeWin.add(moveToDetailBtn);
Dans employeeDetails.js
exports.getEmployeeDetailSWin = function(){
//Creates a new window
var empDetailsWin = Ti.UI.createWindow({
backgroundColor : '#ffffff' //Define the backgroundcolor of the window
});
//Addin a label to the window
empDetailsWin.add(Ti.UI.createLabel({
width : 100, //Define width of the label
height : 50, //Define height of the label
title : 'Employee Details'
}));
return empDetailsWin;
};
je trouve la solution dans cette page: http://www.mindfiresolutions.com/Open-New-Window-Without-URL-Property-In-Titanium-2214.php
- 1. Projet Appcelerator titanium Mobile Module?
- 2. JSON dans Appcelerator Titanium Parsing mobile SDK
- 3. Bibliothèques externes Appcelerator Titanium
- 4. Licence Appcelerator Titanium
- 5. Appcelerator Titanium tableView
- 6. Appcelerator Titanium curseur
- 7. Appcelerator Titanium avec php
- 8. Titanium appcelerator fermer automatiquement
- 9. Appcelerator Titanium + Foursquare oAuth2
- 10. appcelerator titanium tabgroup order
- 11. Appcelerator Titanium startMonitoringForRegion
- 12. Travailler avec Titanium Appcelerator
- 13. Titanium Appcelerator Boutons personnalisés
- 14. Appcelerator Titanium C2DM
- 15. Appcelerator Titanium - erreurs KitchenSink
- 16. Iphone Camera, Titanium Appcelerator
- 17. Masquage avec Titanium (Appcelerator)
- 18. Mise à jour des valeurs de tableau (Appcelerator Titanium Mobile)
- 19. Comment puis-je ajouter jquery à Appcelerator Titanium Mobile Work?
- 20. Pourquoi Appcelerator Titanium Mobile n'analyse-t-il pas ce JSON?
- 21. Prise en charge de Titanium Appcelerator pour Windows Mobile
- 22. Comment créer une mapview avec titanium appcelerator mobile?
- 23. Compile Appcelerator titanium app avec natif Google Maps MapActivity
- 24. Appcelerator Titanium Calendrier des événements
- 25. Titanium Appcelerator HTTPClient return Array
- 26. Appcelerator Titanium json mysql tableview
- 27. Développeur Appcelerator Titanium avec Java?
- 28. Comment débuter avec Appcelerator Titanium
- 29. Appcelerator Titanium s'écrase trop souvent?
- 30. En savoir Appcelerator Titanium Programmation
Ok, et si je n'utilise pas d'onglets? ressemble à tous les exemples que je trouve autour des onglets d'utilisation! et dans mon cas, l'application n'utilise pas d'onglets. Si je crée juste une nouvelle fenêtre et appelez sa méthode ouverte alors cela fonctionne, mais dès que l'utilisateur appuie sur le bouton de retour il est jeté dans l'écran d'accueil car il n'a jamais changé d'activité. Cela me semble étrange que personne n'ait signalé un tel problème. – Bilthon
vous devez le voir comme hierachy. chaque appel de fenêtre ouvre un nouveau contexte de fenêtre indépendamment de la manière dont vous ouvrez votre fenêtre. Si vous voulez avoir plusieurs fenêtres simultanément, vous avez besoin d'une barre d'onglets. – mkind
Ok, et si je n'utilise pas d'onglets? ressemble à tous les exemples que je trouve autour des onglets d'utilisation! et dans mon cas, l'application n'utilise pas d'onglets. Si je crée juste une nouvelle fenêtre et appelez sa méthode ouverte alors cela fonctionne, mais dès que l'utilisateur appuie sur le bouton de retour il est jeté dans l'écran d'accueil car il n'a jamais changé d'activité. Cela me semble étrange que personne n'ait signalé un tel problème –