我在 NativeScript Angular 2 应用程序中使用了 NativeScript 的 RadListView telerik ui 组件。
当我设置事件itemTap和/或itemHold时,它们工作得很好,但在列表行上没有通常的点击效果(波纹)。
有没有办法添加这种效果?
提前谢谢大家:)
我在 NativeScript Angular 2 应用程序中使用了 NativeScript 的 RadListView telerik ui 组件。
当我设置事件itemTap和/或itemHold时,它们工作得很好,但在列表行上没有通常的点击效果(波纹)。
有没有办法添加这种效果?
提前谢谢大家:)
在我看来,这与插件有关。作为一种解决方案,您可以tap
为组件设置事件Ripple
并获取元素id
,这将帮助您区分所选项目。我附上示例代码。
主页.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>
主页.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);
}
它与您添加到 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”类,您将使用“list-group-item-ripple”。
只有这个,它应该工作。观察:请注意,listview 点击事件旨在使用属性“itemTap”ON“”标签,而不是作为子元素的点击事件!