All Projects → hansemannn → titanium-material

hansemannn / titanium-material

Licence: MIT license
Use the native Material UI/UX framework (https://github.com/CosmicMind/Material) in Titanium!

Programming Languages

objective c
16641 projects - #2 most used programming language
javascript
184084 projects - #8 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to titanium-material

griffin-app-opensource
The Axway Griffin App goes open source!
Stars: ✭ 19 (+35.71%)
Mutual labels:  native, titanium, appcelerator
ti.admob
Use the Google AdMob SDK on iOS and Android with Titanium
Stars: ✭ 51 (+264.29%)
Mutual labels:  native, titanium, appcelerator
titanium-arkit
Use the iOS 11 ARKit API in Axway Titanium
Stars: ✭ 28 (+100%)
Mutual labels:  native, titanium, appcelerator
titanium-turbo
Axway Amplify module that adds some enhancements for Appcelerator Titanium Alloy
Stars: ✭ 15 (+7.14%)
Mutual labels:  native, titanium, appcelerator
titanium-firebase-analytics
Use the Firebase Analytics SDK in Axway Titanium 🚀
Stars: ✭ 33 (+135.71%)
Mutual labels:  native, titanium, appcelerator
Titanium mobile
🚀 Native iOS- and Android- Apps with JavaScript
Stars: ✭ 2,553 (+18135.71%)
Mutual labels:  native, titanium, appcelerator
ti.playservices
Titanium module for Google Play Services
Stars: ✭ 19 (+35.71%)
Mutual labels:  native, titanium, appcelerator
ti.paint
Touch-based painting with the Titanium SDK.
Stars: ✭ 27 (+92.86%)
Mutual labels:  native, titanium, appcelerator
ti.coremotion
Support for the native iOS CoreMotion framework in Appcelerator Titanium
Stars: ✭ 15 (+7.14%)
Mutual labels:  native, titanium, appcelerator
av.imageview
Titanium native ImageView module that extends the default Titanium ImageView with more capabilities and a different caching system.
Stars: ✭ 97 (+592.86%)
Mutual labels:  native, titanium, appcelerator
ti.map
Use native Apple Maps & Google Maps in iOS and Android with Axway Titanium
Stars: ✭ 49 (+250%)
Mutual labels:  native, titanium, appcelerator
ti.accountkit
DEPRECATED -- 🔐 Use the Facebook AccountKit iOS-SDK with Titanium Mobile.
Stars: ✭ 18 (+28.57%)
Mutual labels:  native, titanium
titanium-paypal
💰 Use the PayPal iOS-SDK 2.x with Titanium Mobile.
Stars: ✭ 22 (+57.14%)
Mutual labels:  native, appcelerator
titanium-vue
Use Vue.js to easily create native mobile apps with Axway Appcelerator Titanium.
Stars: ✭ 45 (+221.43%)
Mutual labels:  native, titanium
titanium-web-dialog
Use the SFSafariViewController (iOS) and Chrome Pages (Android) in Titanium.
Stars: ✭ 28 (+100%)
Mutual labels:  native, titanium
nl.fokkezb.loading
The widget provides a simple loading mask that can be easily styled and configured.
Stars: ✭ 96 (+585.71%)
Mutual labels:  titanium, appcelerator
titanium-alternate-icons
Leverage the ability to change the app icon in iOS 10.3+
Stars: ✭ 24 (+71.43%)
Mutual labels:  titanium, appcelerator
titanium-calendar
An easy to use iOS modal calendar for selecting dates. Based on the awesome PDTSimpleCalendar library.
Stars: ✭ 15 (+7.14%)
Mutual labels:  native, titanium
ti.exoplayer
A native control for playing videos for Titanium. Based on Google ExoPlayer, using Titanium.Media.VideoPlayer API.
Stars: ✭ 17 (+21.43%)
Mutual labels:  titanium, appcelerator
ti.moddevguide
Appcelerator Titanium native Module Guide
Stars: ✭ 39 (+178.57%)
Mutual labels:  titanium, appcelerator

iOS Material Library in Titanium

Use the native Material UI/UX framework in Titanium!

This module project contains pure Swift libraries. A proof of concept includes an example of using the RaisedButton API. For more API's, submit a pull request to expose components like BottomNavigationView, Snackbar or MotionAnimation.

Requirements

  • Swift 4.1+ (embedded into the hook in hooks/), iOS 8+
  • Titanium SDK 6.3.0+ (7.1.0+ recommended)

API'S

Root-Module

Methods

createRaisedButton(args)

Creates a new raised button.

createTextField(args)

Creates a new text field.

createCardView(args)

Creates a new card view.


RaisedButton (extends Ti.UI.View)

Additional Properties

  • title (String)
  • color (String)
  • selectedColor (String)
  • pulseColor (String)
  • image (String)

CardView (extends Ti.UI.View)

Additional Properties

  • contentView (Ti.UI.View)
  • contentViewInsets (Dictionary)
  • backgroundColor (String)
  • cornerRadius (Number)

TextField (extends Ti.UI.View)

Additional Properties

  • value (String)
  • hintText (String)
  • hintTextColor (String)
  • font (Dictionary)

Events

  • change
  • focus
  • blur

Compile native libraries

iOS

This project uses the following two Swift dependencies:

  • Material
  • Motion

This projects resolves all dependencies already for you, including setting the Swift version using the hook placed in hooks/.

Right now, Titanium only supports CocoaPods for Hyperloop, so in order to use it for classic modules, you need to create universal "fat" frameworks and strip the unused architectures again (this is taken care of by the SDK already). A universal library can be created by grabbing the frameworks from Debug-iphonesimulator (Simulator architectures) and Debug-iphoneos (Device architectures) and combine them using the following commands:

  1. Install CocoaPods (sudo gem install cocoapods) and run pod install in the native/ directory of this repository
  2. Create the following folder structures: sim/, device/ & universal/
  3. Copy the .framework files from Debug-iphonesimulator to sim/
  4. Copy the .framework files from Debug-iphoneos to device/
  5. Copy the .framework files from device to universal/ (they are the base for universal frameworks)
  6. Copy the Modules/*.swiftmodule to the universal directory of the framework
  7. Use the following command to merge the sim- and device-frameworks together:
lipo -create -output universal/<name>.framework/<name> sim/<name>.framework/<name> device/<name>.framework/<name>
  1. Replace the final frameworks in <module-project>/platform
  2. Make a pull request to this repo, so others can benefit from it as well

These steps are based on a Shell Script used natively.

Note: In the future, this will all be done by CocoaPods. Make sure to follow TIMOB-25927 regarding Swift support in the SDK.

Example

var Material = require('ti.material');

var win = Ti.UI.createWindow({
  backgroundColor: '#fff'
});

var btn = Material.createRaisedButton({
  width: 300,
  height: 40,
  title: 'Titanium rocks!'
});

btn.addEventListener('click', function() {
  alert('YEY!');
});

win.add(btn);
win.open();

Author

Hans Knöchel (@hansemannnn / Web)

License

MIT

Contributing

Code contributions are greatly appreciated, please submit a new Pull-Request!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].