1

NativeScript Angular 2 응용 프로그램에서 NativeScript 용 RadListView telerik UI 구성 요소를 사용하고 있습니다. 나는 이벤트 itemTap 및/또는 을 설정 Telerik UI Nativescript - RadListView 파급 효과

은 아주 잘하지만 목록 행의 일반 탭 효과 (리플)없이 작동 itemHold.

이 효과를 추가하는 방법이 있습니까?

미리 감사드립니다.

+0

당신이 사용할 수있는이 기능을 제공하는'nativescript-ripple' 플러그인. 플러그인의 repo에서 데모를 검토 할 수도 있습니다.이 데모는 앱에서 사용하는 방법을 보여줍니다 (https://github.com/bradmartin/nativescript-ripple/tree/master/demo). –

+0

@NikolayTsonev 플러그인을 사용해 보았지만 listview의 itemTap 이벤트가 실행되지 않도록 차단했습니다. :( – Androidian

답변

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); 
}