Action Table
For iOS and Android development with Xamarin and Visual StudioAvailable exclusively as part of the Action Components suite.
About ActionTable
ActionTable
is a custom Table View Controller for iOS and custom ListView for Android that supports a range of features that allow you to create complex Table/List Views quickly, all with a minimum of code. Focus on your user interface design and not the details of implementation, ActionTable
does all the heavy lifiting for you.
Easy Implementation
Tired of having to create a custom TableViewController, TableViewDataSource, and TableViewDelegate class for each table type that you wanted to implement in you mobile app? So are we, that’s why we created ActionTable
. By implementing the RequestData event on the ActionTable
‘s dataSource property you can quickly populate any ActionTable
without having to create custom classes.
Use UIActionTableSections to hold collections of UIActionTableItems to quickly define the structure and format of your table data. Pass this information to an ActionTable
‘s dataSource and display complex tables with a minimum of code, all in OS specific UI.
Accessory Items
The ActionTable
UIActionTableItem class defines several helper function that make attaching accessory views a snap so you can quickly add things like switches and buttons to your table items without have to code them by hand. ActionTables
make easy work of implementing your mobile apps settings.
The following helper function are available:
- AddAccessorySwitch
- AddAccessoryStepper
- AddAccessorySlider
- AddAccessoryActionImageView
- AddAccessoryButton
- AddAccessoryTextField
Events
ActionTables
support a number of events to respond to user interaction at the UIActionTableViewController, UIActionTableSection and UIactionTableItem levels. Several events such as ItemsSelected or AccessoryButtonTapped cacade so they can be handle at any point along the chain from controller to source data item.
Cross Platform
ActionTable
was designed to be highly code compatible across platforms so the same code you use to populate it in iOS can be used in the Android version of your mobile app with little or no modification. Several iOS specific table features such as DisclosureButtons and DisclosureIndicators have been ported to the Android version as well (all rendered in an Android Specific way) to assist in cross platform design.
Adding Accessories is supported on Android using the same function names as the iOS version, however all of the accessories will be converted to their Andoid specific counterparts as follows:
- AddAccessorySwitch – Will be rendered as a ToggleButton
- AddAccessoryStepper – Will be rendered as a SeekBar
- AddAccessorySlider – Will be rendered as a SeekBar
- AddAccessoryTextField – Will be rendered as an EditText
Features
ActionTable
includes a fully documented API with comments for every feature. ActionTable
is available exclusively as part of the ActionPack
Action Component Suite by Appracatappra, LLC.
iOS Example
ActionTable
was designed to make adding it to a project super easy. Here is a example of creating a simple ActionTable
in code:
using ActionComponents;
...
private ACTableViewController _componentTable;
...
// Add the component table to the tray
_componentTable = new ACTableViewController (UITableViewStyle.Plain, new RectangleF (5, 3, componentTray.Frame.Width-10, componentTray.Frame.Height-40));
componentTray.AddSubview (_componentTable.TableView);
_componentTable.cellSelectionStyle = UITableViewCellSelectionStyle.None;
// Wire-up data request event
_componentTable.dataSource.RequestData += (dataSource) => {
// Populate table with data
var section = dataSource.AddSection("Action Components");
// Add items to table
section.AddItem("Action Table","For iOS and Android",true);
section.AddItem("ActionTray","For iOS and Android",true);
section.AddItem("ActionView","For iOS",true);
section.AddItem("ActionViewSplitter","For iOS",true);
section.AddItem("DownloadManager","For iOS and Android",true);
section.AddItem("NavBar","For iOS and Android",true);
};
// Wire-up item selection
_componentTable.ItemsSelected += (item) => {
// Change the title of the tray
componentTray.title = item.text;
// Save selected component and display about document
controller.currentComponent = item.text;
webView.LoadFile (String.Format("Documents/{0}About.pdf",controller.currentComponent));
// Close the tray
componentTray.CloseTray(true);
};
// Ask the controller to populate the table
_componentTable.LoadData ();
Android Example
Here is an example of populating an Action Table that was defined in a .axml
file:
using ActionComponents;
...
private ACTableViewController documentList;
...
// Access interface items
documentList = activity.FindViewById (Resource.Id.documentList);
//---------------------------------------------
// Configure Component Action Table
//---------------------------------------------
documentList.activity = activity;
documentList.allowsSelection = true;
// Wire-up data request event
documentList.dataSource.RequestData += (dataSource) => {
// Populate table with data
var section = dataSource.AddSection("Action Components",Resource.Drawable.book,"The ActionPack Component Suite");
// Add items to table
section.AddItem("Action Table","For iOS and Android",true);
section.AddItem("ActionTray","For iOS and Android",true);
section.AddItem("ActionView","For iOS",true);
section.AddItem("ActionViewSplitter","For iOS",true);
section.AddItem("DownloadManager","For iOS and Android",true);
section.AddItem("NavBar","For iOS and Android",true);
};
// Ask the controller to populate the table
documentList.LoadData ();
//Auto select the current component
documentList.SelectItem (currentComponent);
//Wire-up touch handler
documentList.ItemsSelected += (item) => {
//Save new component
currentComponent = item.text;
};
Trial Version
The Trial version of Action Table is fully functional however the background is watermarked. The fully licensed version removes this watermark.