Telerik UI Nativescript - RadListView涟漪效应

时间:2016-10-27 15:40:32

标签: nativescript ripple angular2-nativescript radlistview nativescript-telerik-ui

我在NativeScript Angular 2应用程序中使用RadListView telerik ui组件用于NativeScript。

当我设置事件 itemTap 和/或 itemHold 时,它们的效果非常好,但在列表行中没有通常的点击效果(波纹)。

有没有办法添加这种效果?

提前感谢所有人:)

2 个答案:

答案 0 :(得分:0)

在我看来,这与插件有关。作为解决方案,您可以将tap事件设置为Ripple组件并获取元素id,这将有助于您区分所选项目。我正在附上示例代码。

主page.xml

<Page xmlns:RL="nativescript-ripple" xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo">
 <GridLayout>
  <ListView items="{{ source }}"  loaded="onLoaded">
      <ListView.itemTemplate>
        <RL:Ripple rippleColor="#d50000" id="{{index}}" tap="onTap2">
            <StackLayout  >
                  <Label text="{{title}}" textWrap="true" />
            </StackLayout>
          </RL:Ripple>
      </ListView.itemTemplate>
  </ListView>

 </GridLayout>
</Page>

主page.ts

import { EventData } from 'data/observable';
import { Page } from 'ui/page';
import { HelloWorldModel } from './main-view-model';
import {StackLayout} from "ui/layouts/stack-layout"

// Event handler for Page "navigatingTo" event attached in main-page.xml
export function navigatingTo(args: EventData) {
  // Get the event sender
  let page = <Page>args.object;
  var array=[];
  for(var i=0;i<100; i++)
  {
    array.push({index:""+i,title:"title "+i});
  }
  page.bindingContext = {"source":array};
}

export function onTap2(args){
  console.log("sample");
  var layouts = args.object;
  var id = layouts.get("id");
  console.log(id);
}

答案 1 :(得分:0)

这与您添加到itemTemplate中的“ list-group-item”类有关。如果删除该类,则可以再次看到波纹,但是没有样式...我做了以下操作:

1)添加此CSS样式

.list-group .list-group-item-ripple {
  color: #212121;
  font-size: 16;
  margin: 0;
  padding: 16;
}
.list-group .list-group-item-ripple Label {
  vertical-align: center;
}
.list-group .list-group-item-ripple .thumb {
  stretch: fill;
  width: 40;
  height: 40;
  margin-right: 16;
}
.list-group .list-group-item-ripple.active {
  background-color: #e0e0e0;
}
.list-group .list-group-item-ripple .list-group-item-text {
  color: #757575;
  font-size: 14;
}

现在,在您的xml中,您将使用“ list-group-item-ripple”而不是“ list-group-item”类。

仅此并且它应该起作用。 观察:请注意,listview tap事件旨在通过属性“ itemTap” ON“”来使用,而不是作为子元素上的tap事件!