ScrollView里面套着ListContainer

在ScrollView里面套着ListContainer展示数据,但是在ScrollView里面ListContainer自己的数据展示有自己滑动,想叫ScrollView整体滑动和ListContainer充满数据展示列表不要滑动,怎么在ListContainer操作?

ScrollView
ListContainer
2021-07-06 09:54:06
浏览
1
收藏 1
回答 7
待解决
回答 7
按赞同
/
按时间
爱吃土豆丝的打工人
4

自定义ScrollView,做拦截操作。

分享
微博
QQ
微信
回复
2021-07-06 16:27:45
wx60a75810c508a
3

<ScrollView
    ohos:id="$+id:home_scroll"
    ohos:height="400vp"
    ohos:width="700vp"
    ohos:background_element="#FFDEAD">

中间还有其他数据

<ListContainer
    ohos:id="$+id:dir_list"
    ohos:height="match_content"
    ohos:width="700vp"
    ></ListContainer>

</ScrollView>

这个是java里面的list循环

List<SchBean> listsch = getscheduleData();
SchAdapter scheAdapter = new SchAdapter(listsch, this);
dirlist.setItemProvider(schAdapter);

 

private List<SchBean> getscheduleData() {
    List<SchBean> listsch = new ArrayList<>();

    for (int i = 1; i <= 5; i++) {

        listsch.add(new SchBean());
    }
    return listsch;
}

分享
微博
QQ
微信
回复
2021-07-06 09:58:40
爱吃土豆丝的打工人
3
public class MyScrollView extends ScrollView {
    private boolean isIntercept = true;
    public MyScrollView(Context context) {
        super(context);
    }

    public MyScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        // 不要拦截  true为不要拦截   false为拦截
        requestDisallowInterceptTouchEvent(isIntercept);
        return super.dispatchTouchEvent(ev);
    }

    public void getMyScrollViewTouchEvent(boolean Interceptor){
        isIntercept = Interceptor;
    }
}
分享
微博
QQ
微信
回复4
2021-07-06 16:28:35
wx60a75810c508a
3

 

鸿蒙ListContainer动态高度解决方法

private void intData() {
    List<ScheduleBean> listschedule = getscheduleData();
    ScheduleAdapter scheduleAdapter = new ScheduleAdapter(listschedule, this);
    mDirlist.setItemProvider(scheduleAdapter);
    ListContainer listContainer = mDirlist;
    int itemHeight = 0;
    for (int i = 0; i < scheduleAdapter.getCount(); i++) {
        Component child = scheduleAdapter.getComponent(i, null, listContainer);
        itemHeight += child.getHeight();
    }
    ComponentContainer.LayoutConfig config = listContainer.getLayoutConfig();
    config.height = itemHeight;
    listContainer.setLayoutConfig(config);
    scheduleAdapter.notifyDataChanged();
}

 

 

 

分享
微博
QQ
微信
回复
2021-07-07 18:03:59
wx60a75810c508a
2

这是滑动事件冲突了,怎么解决???

分享
微博
QQ
微信
回复
2021-07-06 10:23:36
mb5e33f4fedceec
2

楼主解决了吗 咋解决的?

分享
微博
QQ
微信
回复
2021-08-11 11:20:25
金大人的梦
2

child.getHeight();高度为0,不知为何?

分享
微博
QQ
微信
回复
2021-08-16 17:46:04
相关问题
ScrollView嵌套ListContainer
4650浏览 • 5回复 待解决
ScrollView默认从底端开始,怎么破?
3216浏览 • 1回复 待解决
鸿蒙中ScrollView如何禁掉滚动事件
5347浏览 • 2回复 待解决
listContainer怎么通过addComponent添加布局
6221浏览 • 1回复 待解决
请问ScrollView怎么显示滚动条?
3716浏览 • 1回复 待解决
ListContainer 有滚动条 显示吗?
4081浏览 • 1回复 待解决
ListContainer中的Item能取消拖拽吗
3462浏览 • 1回复 待解决
ListContainer加载大量数据白屏并且卡UI
3408浏览 • 1回复 待解决
鸿蒙里面有alpha动画吗
5113浏览 • 1回复 已解决
TaskPool里面是否可以使用EventHub
225浏览 • 1回复 待解决
ArkTS里面的?. 是什么意思
318浏览 • 1回复 待解决
如何查看mysql表里面的数据?
537浏览 • 1回复 待解决
HarmonyOS有没类似Android里面的Fragment
11928浏览 • 4回复 待解决
polardb跑在ceph共享存储里面吗?
1255浏览 • 1回复 待解决