gpt4 book ai didi

android - SlidingUpPanel 中的 ListView 不可滚动

转载 作者:行者123 更新时间:2023-11-29 14:39:09 25 4
gpt4 key购买 nike

我使用这个库,https://github.com/umano/AndroidSlidingUpPanel ,我在里面放了一个listview,但是不起作用,没有滚动,为什么?不仅是listview,整个布局不滚动,也没有textview,也没有image,什么都没有。这是我的 xml 代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Detalhe_linha"

<com.sothree.slidinguppanel.SlidingUpPanelLayout
android:id="@+id/sliding_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Próximo onibûs sai do ponto final em" />

<TextView
android:id="@+id/txtProx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="X minutos"
android:layout_gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge" />

<GridView
android:id="@+id/tabelaHorarios"
android:layout_width="315dp"
android:layout_height="match_parent"
android:layout_x="0dp"
android:layout_y="123dp"
android:layout_gravity="center"
android:numColumns="3" >

</GridView>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CCCC"
android:orientation="vertical">

<TextView
android:layout_width="match_parent"
android:layout_height="34dp"
android:gravity="center|bottom"
android:text="Itinerário"
android:textSize="16sp" />

<TextView
android:id="@+id/brought_by"
android:layout_width="match_parent"
android:layout_height="34dp"
android:gravity="center|top"
android:text="Arraste para cima"
android:textSize="14sp"
android:autoLink="web" />


<TextView
android:id="@+id/itinerarios"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|top"
android:text=""
android:textSize="17sp"
android:autoLink="web" />

</LinearLayout>
</com.sothree.slidinguppanel.SlidingUpPanelLayout>
</LinearLayout>

顺便说一句,抱歉我的英语不好。

最佳答案

我发现问题是 SlidingUpPanelLayout 拦截触摸事件 (onInterceptTouchEvent)。我的解决方案是重写(或覆盖)方法 isDragViewHit,该方法在 case MotionEvent.ACTION_DOWN 中检查,并且可能取消对给定触摸事件的拦截。

这是我的解决方案,它在面板展开时取消拦截,允许单击/滚动展开的子面板。这也意味着您不能向下滑动展开的面板。我在单击按钮时实现了面板折叠。检查实现,它会给你一些想法。

private boolean isDragViewHit(int x, int y) {
if(isExpanded()){
//don't intercept touch if panel expanded
return false;
}
else{
//original implementation - only allow dragging on mDragView
View v = mDragView != null ? mDragView : mSlideableView;
if (v == null) return false;
int[] viewLocation = new int[2];
v.getLocationOnScreen(viewLocation);
int[] parentLocation = new int[2];
this.getLocationOnScreen(parentLocation);
int screenX = parentLocation[0] + x;
int screenY = parentLocation[1] + y;
return screenX >= viewLocation[0] && screenX < viewLocation[0] + v.getWidth() &&
screenY >= viewLocation[1] && screenY < viewLocation[1] + v.getHeight();
}
}

关于android - SlidingUpPanel 中的 ListView 不可滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com