diff --git a/apps/TelerikNEXT/main-page.xml b/apps/TelerikNEXT/main-page.xml
index 141904a3f..46498d55c 100644
--- a/apps/TelerikNEXT/main-page.xml
+++ b/apps/TelerikNEXT/main-page.xml
@@ -45,7 +45,7 @@
-
+
diff --git a/ui/list-view/list-view-common.ts b/ui/list-view/list-view-common.ts
index 7b18128c2..b0de612ee 100644
--- a/ui/list-view/list-view-common.ts
+++ b/ui/list-view/list-view-common.ts
@@ -5,6 +5,7 @@ import definition = require("ui/list-view");
import dependencyObservable = require("ui/core/dependency-observable");
import builder = require("ui/builder");
import label = require("ui/label");
+import color = require("color");
var ITEMS = "items";
var ITEMTEMPLATE = "itemTemplate";
@@ -12,6 +13,7 @@ var ISSCROLLING = "isScrolling";
var LISTVIEW = "ListView";
var ITEMSCHANGED = "_itemsChanged";
var CHANGE = "change";
+var SEPARATORCOLOR = "separatorColor";
export module knownEvents {
export var itemLoading = "itemLoading";
@@ -45,6 +47,11 @@ function onItemTemplatePropertyChanged(data: dependencyObservable.PropertyChange
export class ListView extends view.View implements definition.ListView {
+ public static separatorColorProperty = new dependencyObservable.Property(
+ SEPARATORCOLOR,
+ LISTVIEW,
+ new proxy.PropertyMetadata(undefined));
+
public static itemsProperty = new dependencyObservable.Property(
ITEMS,
LISTVIEW,
@@ -102,6 +109,14 @@ export class ListView extends view.View implements definition.ListView {
this._setValue(ListView.isScrollingProperty, value);
}
+ get separatorColor(): color.Color {
+ return this._getValue(ListView.separatorColorProperty);
+ }
+ set separatorColor(value: color.Color) {
+ this._setValue(ListView.separatorColorProperty,
+ value instanceof color.Color ? value : new color.Color(value));
+ }
+
public refresh() {
//
}
diff --git a/ui/list-view/list-view.android.ts b/ui/list-view/list-view.android.ts
index cf043c171..c94fb8af1 100644
--- a/ui/list-view/list-view.android.ts
+++ b/ui/list-view/list-view.android.ts
@@ -3,6 +3,10 @@ import common = require("ui/list-view/list-view-common");
import viewModule = require("ui/core/view");
import layout = require("ui/layouts/layout");
import stackLayout = require("ui/layouts/stack-layout");
+import proxy = require("ui/core/proxy");
+import dependencyObservable = require("ui/core/dependency-observable");
+import color = require("color");
+import utils = require("utils/utils");
var ITEMLOADING = common.knownEvents.itemLoading;
var LOADMOREITEMS = common.knownEvents.loadMoreItems;
@@ -13,6 +17,21 @@ var REALIZED_INDEX = "realizedIndex";
declare var exports;
require("utils/module-merge").merge(common, exports);
+function onSeparatorColorPropertyChanged(data: dependencyObservable.PropertyChangeData) {
+ var bar = data.object;
+ if (!bar.android) {
+ return;
+ }
+
+ if (data.newValue instanceof color.Color) {
+ bar.android.setDivider(new android.graphics.drawable.ColorDrawable((data.newValue).android));
+ bar.android.setDividerHeight(1);
+ }
+}
+
+// register the setNativeValue callbacks
+(common.ListView.separatorColorProperty.metadata).onSetNativeValue = onSeparatorColorPropertyChanged;
+
export class ListView extends common.ListView {
private _android: android.widget.ListView;
public _realizedItems = {};
@@ -161,6 +180,10 @@ class ListViewAdapter extends android.widget.BaseAdapter {
return true;
}
+ public areAllItemsEnabled (): boolean {
+ return true;
+ }
+
public getView(index: number, convertView: android.view.View, parent: any): android.view.View {
if (!this._listView) {
return null;
diff --git a/ui/list-view/list-view.d.ts b/ui/list-view/list-view.d.ts
index da3e5743e..c66a56be8 100644
--- a/ui/list-view/list-view.d.ts
+++ b/ui/list-view/list-view.d.ts
@@ -5,6 +5,7 @@ declare module "ui/list-view" {
import observable = require("data/observable");
import dependencyObservable = require("ui/core/dependency-observable");
import view = require("ui/core/view");
+ import color = require("color");
/**
* Known event names.
@@ -81,6 +82,11 @@ declare module "ui/list-view" {
*/
itemTemplate: string;
+ /**
+ * Gets or set the items separator line color of the ListView.
+ */
+ separatorColor: color.Color;
+
/**
* Forces the ListView to reload all its items.
*/
diff --git a/ui/list-view/list-view.ios.ts b/ui/list-view/list-view.ios.ts
index ea4276b0a..4a2bb8ba2 100644
--- a/ui/list-view/list-view.ios.ts
+++ b/ui/list-view/list-view.ios.ts
@@ -3,6 +3,9 @@ import definition = require("ui/list-view");
import common = require("ui/list-view/list-view-common");
import utils = require("utils/utils");
import view = require("ui/core/view");
+import proxy = require("ui/core/proxy");
+import dependencyObservable = require("ui/core/dependency-observable");
+import color = require("color");
var CELLIDENTIFIER = "cell";
var ITEMLOADING = common.knownEvents.itemLoading;
@@ -116,6 +119,20 @@ class UITableViewDelegateImpl extends NSObject implements UITableViewDelegate {
}
}
+function onSeparatorColorPropertyChanged(data: dependencyObservable.PropertyChangeData) {
+ var bar = data.object;
+ if (!bar.ios) {
+ return;
+ }
+
+ if (data.newValue instanceof color.Color) {
+ bar.ios.separatorColor = (data.newValue).ios;
+ }
+}
+
+// register the setNativeValue callbacks
+(common.ListView.separatorColorProperty.metadata).onSetNativeValue = onSeparatorColorPropertyChanged;
+
export class ListView extends common.ListView {
private _ios: UITableView;
private _dataSource;