Skip to content

Instantly share code, notes, and snippets.

View jasonkneen's full-sized avatar
🏠
Working from home

Jason Kneen jasonkneen

🏠
Working from home
View GitHub Profile
@jasonkneen
jasonkneen / index.js
Created May 15, 2014 14:45
Demonstrate CollapsableView Tag in Alloy.
function collapse(){
$.myView.collapse();
// $.myView.expand();
}
@jasonkneen
jasonkneen / index.js
Created January 14, 2016 15:27 — forked from afranioce/index.js
Appcelerator swipe card like tinder
var win = Titanium.UI.createWindow({
backgroundColor: "#ffffff",
title: "win"
});
// animations
var animateLeft = Ti.UI.createAnimation({
left: -520,
transform: Ti.UI.create2DMatrix({rotate: 60}),
opacity: 0,
@jasonkneen
jasonkneen / 1readme.md
Last active May 28, 2021 16:48
Quick example of registering a URLScheme in a Titanium app using the TiApp.xml without info.plist file. Just add the following into your TiApp.xml (I put it under the </iphone> tag. Works on Android and iOS.

Quick Example of registering a scheme in TiApp.xml, implementing the code in app.js / alloy.js

@jasonkneen
jasonkneen / index.xml
Last active July 11, 2020 14:07
Flipboard style tabgroup indicator for iOS. Drop tabIndicator.js into your Alloy lib folder, then add the module tag to your tabgroup and parameters to override the defaults. As you click on each tab, the indicator will slide across. VIDEO https://www.dropbox.com/s/cbw5e1ruksud9uo/tabindicator.mp4?dl=0
<!-- note the ONLY change to this is the additional module="tabIndicator"
attribute + properties to override indicator defaults //-->
<Alloy>
<TabGroup module="tabIndicator" tabsBackgroundColor="#000" tabIndicatorHeight="1" tabIndicatorColor="white" tabIndicatorWidth="75%">
<Tab title="Tab 1" icon="/images/icons/519-tools-1.png" activeIcon="/images/icons/519-tools-1_active.png" color="#555" activeColor="#fff">
<Window title="Tab 1" barColor="black" navTextColor = "#fff">
<Label onClick="openWin1">Tab 1</Label>
</Window>
</Tab>
<Tab title="Tab 2" icon="/images/icons/516-archive-box.png" activeIcon="/images/icons/516-archive-box_active.png" color="#555" activeColor="#fff">
@jasonkneen
jasonkneen / Alloy.js
Last active November 27, 2018 07:12
Dynamically change languages in a Titanium Alloy app (for testing)
// add this to the Alloy.js file
// Set to run in ENV_DEV mode so it's used for testing withou
// having to change languages on device etc
// NO checks in place so assumes you know what you're doing, have
// the relevant strings files and specify the correct one!
// should work on Android - not tested yet!
if (ENV_DEV) {
Alloy.Globals.setLanguage = function(lang) {
@jasonkneen
jasonkneen / push-all-tags.sh
Created November 20, 2018 18:18 — forked from jamieoliver/push-all-tags.sh
Push all Git tags to a remote repository. Useful for keeping a fork up to date with the upstream repo.
git push <remote> --tags
@jasonkneen
jasonkneen / gitconfig
Created November 16, 2018 11:48
Getting release notes from Git logs
# drop this into your ./.gitconfig file
# usage
# $ git today
# $ git yesterday
# $ git since 18-11-01
#
# will display a list of formatted commits you can lift to use for release notes
[alias]
today = log --since=1am --pretty=format:"%C(blue)-\\ %s"
0411162374b5fcbd0817ddc24470640dc281136483a34ae1a1600bb6918bac5696fdb48c57a04aaaaa0c29d1e4f41148421584d10cc51beac97aae017f359d6af9
@jasonkneen
jasonkneen / index.js
Last active March 15, 2017 18:51
Demo of how to use David Bankier's "Real Switch" for Android here. https://github.com/dbankier/RealSwitch. Add the Module to your TiApp.xml file, add a switch to your Alloy file as normal, but add the module attribute. Drop the ui.js file into your /lib/ folder (you can add to this) and then run the project. On iOS you'll get a regular iOS switc…
$.mySwitch.addEventListener('change',function(e){
Ti.API.info('Switch value: ' + $.mySwitch.value);
});
@jasonkneen
jasonkneen / elements.js
Last active November 28, 2016 14:26
In the latest TiAlloy you can specify a module tag against the <Alloy> element in XML and this will be used when creating any elements in the view, so you can override, customise etc. The problem is if you want to use multiple commonJS libraries, there's no support in the Alloy Tag -- you'd have to change the module attribute for each element --…
var o = {};
// include the modules you want - purposely did this as seperate lines so it's easier to comment out modules etc
_.extend(o, require("module1"));
_.extend(o, require("module2"));
_.extend(o, require("module3"));
// make available under a single export for use in <Alloy> tag
module.exports = o;