首页 文章

Telerik UI Nativescript - RadListView涟漪效应

提问于
浏览
1

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

当我设置事件itemTap和/或itemHold时,它们工作得很好但没有列表行上的通常的点击效果(波纹) .

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

在此先感谢所有:)

2 回答

  • 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);
    }
    
  • 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”类中,你将使用“list-group-item-ripple” .

    只有这一点,它应该工作 . 视频:注意,listview tap事件旨在使用属性“itemTap”ON“”标记,而不是作为子元素的点击事件!

相关问题