android - Scrolling of View happens after the position of scroll by touch -
i have customised view in android application put inside horizontalscrollview shown.
<horizontalscrollview android:id="@+id/feedbackscroller" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none"> <com.my.views.offlinefeedbackview android:id="@+id/feedbackview" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_margintop="@dimen/session_rec_page_title_bar_height" android:layout_marginbottom="@dimen/session_rec_page_ctrl_bar_height"/> </horizontalscrollview> the offlinefeedbackview shows pitch track of audio track playing , scroll view calling scrollto(newxpos, newypos) based on current time of playback. problem facing if scroll screen touching , start playback, reference of scrolling seems changed on view , scrolling takes place position scrolled touch. went through api docs , found scrollto(newxpos, newypos) internally calls onscrollchanged(int l, int t, int oldl, int oldt) oldl , oldt old horizontal , vertical origins respectively. so, interpreting when scroll touching on screen these origin values changed. so, tried calling onscrollchanged(newx, newy, 0, 0) freezes screen , there no scroll. doing wrong? can other better ways handle this?
here problem looks said horizontalscrollview positions gets changed when touch.
so 1 solution may find initial top-left position of scroll view
horizontalscrollview hsv = (horizontalscrollview) findviewbyid(r.id.scrollview); int x, y; x = hsv.getleft(); y = hsv.gettop(); and scroll child view relative these stored x,y positions i.e
childview.scrollto(x+newxpos,y+newypos);
Comments
Post a Comment