Android 在Nativescript中以编程方式滚动到ScrollView视图的底部
我正在开发一个应用程序,当用户单击cardview布局时,该视图的详细信息将在该cardview布局上打开。我已经使用nativescript ScrollView来滚动视图。但是,当用户单击最后一个cardview布局时,它应该滚动显示cardview布局的详细信息。它不会自动滚动到最后一个卡视图详细信息,因此卡视图的详细信息被隐藏,用户必须手动滚动 我发现了这个,但我无法解决我的问题。下面是我的布局代码Android 在Nativescript中以编程方式滚动到ScrollView视图的底部,android,ios,nativescript,hybrid-mobile-app,angular2-nativescript,Android,Ios,Nativescript,Hybrid Mobile App,Angular2 Nativescript,我正在开发一个应用程序,当用户单击cardview布局时,该视图的详细信息将在该cardview布局上打开。我已经使用nativescript ScrollView来滚动视图。但是,当用户单击最后一个cardview布局时,它应该滚动显示cardview布局的详细信息。它不会自动滚动到最后一个卡视图详细信息,因此卡视图的详细信息被隐藏,用户必须手动滚动 我发现了这个,但我无法解决我的问题。下面是我的布局代码 <ScrollView id="scrollView" #scrollVie
<ScrollView id="scrollView" #scrollView orientation="vertical" #scrollView (scroll)="onScroll($event)">
<StackLayout row="0" col="0">
<StackLayout *ngFor="let item of items" class="card-view" id="cardViewLayout">
<GridLayout columns="auto, *, auto" rows="auto,auto,auto" (tap)="toggleDetail(@event)">
</GridLayout>
<GridLayout row="3" col="0" colSpan="3" columns=" *, *" rows="auto,auto" id="detailedData" visibility="hidden" class="cardDetail">
<StackLayout row="0" col="0" class="detailDataStack">
</StackLayout>
</GridLayout>
</StackLayout>
</StackLayout>
</ScrollView>
toggleDetail(args){
var scrollView = this.page.getViewById("scrollView")
var offset = this.scrollView.nativeElement.scrollableHeight;
this.scrollView.nativeElement.scrollToVerticalOffset( this.scrollView.nativeElement.offset+ 120, false);
}
切换详细信息(args){
var scrollView=this.page.getViewById(“scrollView”)
var offset=this.scrollView.nativeElement.scrollableHeight;
this.scrollView.nativeElement.scrollToVerticalOffset(this.scrollView.nativeElement.offset+120,false);
}
如上图所示,当用户单击card view类布局时,它正在切换cardDetail类。当卡片视图中有最后一项时,它应该自动滚动以显示详细信息,但不会自动滚动
在toggleDetail()方法中,我尝试获取scrollableHeight,将120添加到该高度,并在用户进入最后一项时使其滚动,但什么也没发生
操场示例应用程序
提前感谢:)您应该使用
垂直偏移
而不仅仅是偏移
this.scrollView.nativeElement.scrollToVerticalOffset(this.scrollView.nativeElement.verticalOffset + 120, false);
只需使用scrollToVerticalOffset和scrollableHeight
const scrollView = page.getViewById('scroll-view');
scrollView.scrollToVerticalOffset(scrollView.scrollableHeight, true);
谢谢你的回答。但这对我不起作用。你有游乐场的样品吗?对不起,我没有操场示例。我已经为此制作了操场示例应用程序。如果你能看看你的代码,我建议你使用
nativescript accordion
插件或ListView
/RadListView
两个模板,一个用于正常状态,另一个用于扩展状态,这将帮助你保持你的性能。其次,我在游乐场示例中没有看到任何与滚动相关的代码,请更新。