Library and example project on how to use the UITableView component
Library and example project on how to use the UITableView component
Paste or clone this library into the /libs folder, in the root directory of your project. Create a new folder: /libs if not already present. (This step is not required - only for keeping cleaner project structure)
Edit settings.gradle by adding the library. You have also define a project directory for the library. Your settings.gradle should look like below:
include ':app', ':UITableView'
project(':UITableView').projectDir = new File('libs/UITableView')
In app/build.gradle add the UITableView library as a dependency:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":UITableView")
}
Sync project, clean and build. You can use the UITableView as part of your project now.
Before you can add a UITableView to your application, you must first add a library reference:
public class Example1Activity extends Activity {
UITableView tableView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tableView = (UITableView) findViewById(R.id.tableView);
createList();
Log.d("Example1Activity", "total items: " + tableView.getCount());
tableView.commit();
}
private void createList() {
CustomClickListener listener = new CustomClickListener();
tableView.setClickListener(listener);
tableView.addBasicItem("Example 1", "Summary text 1");
tableView.addBasicItem("Example 2", "Summary text 2");
tableView.addBasicItem("Example 3", "Summary text 3");
tableView.addBasicItem("Example 4", "Summary text 4");
}
private class CustomClickListener implements ClickListener {
@Override
public void onClick(int index) {
Toast.makeText(Example1Activity.this, "item clicked: " + index, Toast.LENGTH_SHORT).show();
}
}
}
In order to use the default list you can extend the UITableViewActivity, a simple example can be found in the source code below:
public class ExampleActivity extends UITableViewActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CustomClickListener listener = new CustomClickListener();
getUITableView().setClickListener(listener);
}
private class CustomClickListener implements ClickListener {
@Override
public void onClick(int index) {
Toast.makeText(ExampleActivity.this, "item clicked: " + index, Toast.LENGTH_SHORT).show();
}
}
@Override
protected void populateList() {
getUITableView().addItem("Example 1", "Summary text 1");
getUITableView().addItem("Example 2", "Summary text 2");
getUITableView().addItem("Example 3", "Summary text 3");
getUITableView().addItem("Example 4", "Summary text 4");
getUITableView().addItem("Example 5", "Summary text 5");
}
}
In this example you don't even need to care about the xml since the UITableViewActivity is using a default layout template the only displays the list in the screen. It is pretty mych the same list you are seeing in the screenshot provided at the beginning of this explanation.
UITableView is an Android Library Project and all its resources will be merged into the referring project. So, in order tu customize the colors of the UITableView and its elements, you need to create the same resources on your own project and this resources will be before the default values provided by the library project.
If you don't like the default colors that is defined in the colors.xml file simply override the default values in the main projects colors.xml file. These are the keys you need to work on to have your customized UITableView working.
#ffb7babb
#FFFFFF
#FFFFFF
#ff3590c4
#ff2570ba
#000000
#ffffff
The theme above was created using the following set of colors:
#50b7babb
#B0FFFFFF
#B0FFFFFF
#B03590c4
#B02570ba
#000000
#ffffff
Functionallity improvements and performance enhancements are always welcome. Feel free to fork and apply your changes.
Use these libraries also to get a better UI for your android application
Copyright (c) 2011 [Thiago Locatelli] - "thiago:locatelli$gmail:com".replace(':','.').replace('$','@')
Licensed under the Apache License, Version 2.0
No open issues yet, or sync has not completed.