mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
initial commit
This commit is contained in:
@ -45,7 +45,7 @@
|
||||
|
||||
<SearchBar text="{{ search }}" style="background-color: #fac950; color: #fac950;" textFieldBackgroundColor="white" row="2" />
|
||||
|
||||
<ListView items="{{ sessions }}" row="3">
|
||||
<ListView items="{{ sessions }}" row="3" separatorColor="#fac950">
|
||||
<ListView.itemTemplate>
|
||||
<GridLayout columns="auto, *">
|
||||
|
||||
|
@ -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(<any>value));
|
||||
}
|
||||
|
||||
public refresh() {
|
||||
//
|
||||
}
|
||||
|
@ -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 = <ListView>data.object;
|
||||
if (!bar.android) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.newValue instanceof color.Color) {
|
||||
bar.android.setDivider(new android.graphics.drawable.ColorDrawable((<color.Color>data.newValue).android));
|
||||
bar.android.setDividerHeight(1);
|
||||
}
|
||||
}
|
||||
|
||||
// register the setNativeValue callbacks
|
||||
(<proxy.PropertyMetadata>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;
|
||||
|
6
ui/list-view/list-view.d.ts
vendored
6
ui/list-view/list-view.d.ts
vendored
@ -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.
|
||||
*/
|
||||
|
@ -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 = <ListView>data.object;
|
||||
if (!bar.ios) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.newValue instanceof color.Color) {
|
||||
bar.ios.separatorColor = (<color.Color>data.newValue).ios;
|
||||
}
|
||||
}
|
||||
|
||||
// register the setNativeValue callbacks
|
||||
(<proxy.PropertyMetadata>common.ListView.separatorColorProperty.metadata).onSetNativeValue = onSeparatorColorPropertyChanged;
|
||||
|
||||
export class ListView extends common.ListView {
|
||||
private _ios: UITableView;
|
||||
private _dataSource;
|
||||
|
Reference in New Issue
Block a user