Android : Adding custom view to child of ScrollView -


i having problem scrollview when try add custom view child(relativelayout) of scrollview. it works correctly when remove scrollview.

here's xml file

    <scrollview         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:clickable="true"         android:id="@+id/scrollview">       <relativelayout             android:layout_width="match_parent"             android:layout_height="match_parent"             android:layout_below="@+id/relativelayout"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"             android:layout_alignright="@+id/relativelayout"             android:layout_alignend="@+id/relativelayout"             android:id="@+id/rlselectable">         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view1"               android:background="@drawable/drawable_border"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view2"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view1" android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view3"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view2" android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view4"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view3" android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view5"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view4" android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view6"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view5" android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view7"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view6"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view8"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view7"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view9"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view8"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view10"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view9"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view11"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view10"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view12"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view11"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view13"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view12"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view14"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view13"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view15"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view14"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"               android:layout_height="120dp"               android:id="@+id/view16"               android:background="@drawable/drawable_border"               android:layout_below="@+id/view6"               android:layout_alignparentleft="true"               android:layout_alignparentstart="true"/>     </relativelayout>  </scrollview> 

note: scrollview not parent in xml layout. it's wrapped in relativelayout.

here's mainactivity code :

public class mainactivity extends appcompatactivity implements dragger.draggerinterface {  gesturedetector detector; arraylist<dragger> draggers; relativelayout rlselectable; int width,height,count=0,startsat=0; float centerx; scrollview scrollview; string tag = "main_dragger";  view view;    @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.calendar_view);      view = findviewbyid(r.id.view1);     rlselectable = (relativelayout) findviewbyid(r.id.rlselectable);     draggers = new arraylist<dragger>();     scrollview = (scrollview)findviewbyid(r.id.scrollview);     scrollview.requestdisallowintercepttouchevent(true);     detector = new gesturedetector(new gesturedetector.simpleongesturelistener(){         @override         public boolean ondown(motionevent e) {             return true;         }          @override         public boolean onsingletapconfirmed(motionevent e) {             int index  = motioneventcompat.getactionindex(e);             float x = motioneventcompat.getx(e, index);             float y = motioneventcompat.gety(e, index);             adddragger(centerx,y);             log("single tapped");             return true;         }     });         rlselectable.setontouchlistener(new view.ontouchlistener() {         @override         public boolean ontouch(view v, motionevent event) {             return detector.ontouchevent(event);         }     }); }   @override public void onwindowfocuschanged(boolean hasfocus) {     super.onwindowfocuschanged(hasfocus);     width = rlselectable.getwidth();     centerx = (rlselectable.getright()-rlselectable.getleft())/2;     height = view.getheight();     startsat = view.gettop(); }   public void adddragger(float x,float y) {     dragger dragger = new dragger(mainactivity.this);     dragger.setparams(width,height);     dragger.setcenter(x, y);     draggers.add(dragger);     dragger.setid(count++);     dragger.viewstartsat(startsat);     dragger.addview(this);     rlselectable.addview(dragger);  }     private void log(string message){     log.d(tag,message); }  @override public void checkbounds(dragger current) {     int currentid = current.getid();      if(draggers.size()>1){         for(dragger dragger : draggers){              if(currentid !=dragger.getid()){                 if(current.getupstate() && current.getrecttop()<dragger.getrectbootom() && current.getrectbootom() > dragger.getrecttop()){                     dragger.setbottom(current.getrectbootom());                     current.removeview();                     draggers.remove(current);                     break;                 }else if(!current.getupstate() && current.getrectbootom() > dragger.getrecttop() && current.getrecttop() < dragger.getrectbootom()){                     dragger.settop(current.getrecttop());                     current.removeview();                     draggers.remove(current);                     break;                 }             }         }     } } 

<?xml version="1.0" encoding="utf-8"?> <framelayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:id="@+id/frame_container"> <include         android:id="@+id/app_bar_id"         layout="@layout/app_bar"></include>     <linearlayout         android:layout_width="match_parent"         android:layout_height="match_parent"         android:orientation="vertical"          android:id="@+id/fragment_container_id">      </linearlayout>     <scrollview      android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:clickable="true"     android:id="@+id/scrollview">     <linearlayout         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:orientation="vertical">        <relativelayout         android:layout_width="match_parent"         android:layout_height="match_parent"         android:layout_below="@+id/relativelayout"         android:layout_alignparentleft="true"         android:layout_alignparentstart="true"         android:layout_alignright="@+id/relativelayout"         android:layout_alignend="@+id/relativelayout"         android:id="@+id/rlselectable">         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view1"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view2"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view1" android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view3"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view2" android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view4"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view3" android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view5"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view4" android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view6"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view5" android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view7"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view6"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view8"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view7"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view9"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view8"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view10"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view9"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view11"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view10"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view12"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view11"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view13"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view12"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view14"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view13"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view15"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view14"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>         <view android:layout_width="match_parent"             android:layout_height="120dp"             android:id="@+id/view16"             android:background="@drawable/edit_text_bottom_corner_curved"             android:layout_below="@+id/view6"             android:layout_alignparentleft="true"             android:layout_alignparentstart="true"/>     </relativelayout>     </linearlayout> </scrollview>     </framelayout> 

Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -