我在ScrollVIEw中嵌套了calendarvIEw.当视图高度增加时,我的问题就开始了.
我可以垂直滚动日历月,但当滚动视图滚动条出现时,它不会滚动日历.整个视图向上或向下滚动而不是滚动日历.
<?xml version="1.0" enCoding="utf-8"?><ScrollVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:fillVIEwport="true"><linearLayout androID:orIEntation="vertical" androID:ID="@+ID/ReminderLayout" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" > <linearLayout androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:orIEntation="vertical" > <EditText androID:ID="@+ID/Taskname" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:inputType="textCapWords" androID:singleline="true" androID:textSize="26.0sp" /> <VIEw androID:ID="@+ID/seperator" androID:layout_wIDth="fill_parent" androID:layout_height="1dip" /> <TextVIEw androID:ID="@+ID/lblNotes" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="Notes" /> <EditText androID:ID="@+ID/TaskNotes" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:inputType="textMultiline" androID:textSize="26.0sp" /> <VIEw androID:ID="@+ID/seperator" androID:layout_wIDth="fill_parent" androID:layout_height="1dip" /> <TextVIEw androID:ID="@+ID/lblReminder" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="Reminder" /> </linearLayout> <linearLayout androID:orIEntation="horizontal" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content">" <CalendarVIEw androID:ID="@+ID/calendarReminder" androID:layout_wIDth="fill_parent" androID:layout_height="250dp" androID:scrollbars="vertical" androID:isScrollContainer="true" /> </linearLayout> <linearLayout androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" > <TimePicker androID:ID="@+ID/timePickerReminder" androID:layout_wIDth="fill_parent" androID:layout_height="match_parent" androID:gravity="center" /> </linearLayout> <linearLayout androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" > <VIEw androID:ID="@+ID/seperator" androID:layout_wIDth="fill_parent" androID:layout_height="1dip"/> <TextVIEw androID:ID="@+ID/ReminderTime" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="On Time" androID:paddingleft="20dip"/> <VIEw androID:ID="@+ID/seperator" androID:layout_wIDth="fill_parent" androID:layout_height="1dip"/> <TextVIEw androID:ID="@+ID/Recurring" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="Only Once" androID:paddingleft="20dip"/> </linearLayout> </linearLayout></ScrollVIEw>
解决方法:
我在这里找到了这个问题的答案:
https://stackoverflow.com/a/9687545
基本上,您需要实现自定义CalendarVIEw并覆盖onIntercepttouchEvent方法.
我做了如下:
package com.example.app.vIEws;public class CalendarVIEwScrollable extends CalendarVIEw { public CalendarVIEwScrollable(Context context) { super(context); } public CalendarVIEwScrollable(Context context, AttributeSet attrs) { super(context, attrs); } public CalendarVIEwScrollable(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @OverrIDe public boolean onIntercepttouchEvent(MotionEvent ev) { if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) { VIEwParent p = getParent(); if (p != null) p.requestdisallowIntercepttouchEvent(true); } return false; }}
然后在XML布局文件中使用此视图:
<com.example.app.vIEws.CalendarVIEwScrollable androID:ID="@+ID/datePicker1" androID:layout_wIDth="400dp" androID:layout_height="400dp" />
总结 以上是内存溢出为你收集整理的当嵌套在android中的scrollview中时,calendarview停止滚动全部内容,希望文章能够帮你解决当嵌套在android中的scrollview中时,calendarview停止滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)