Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
405 views
in Technique[技术] by (71.8m points)

scroll - android scrollable textview inside scrollview

i need to create like scrolling TextView inside the ScrollView.. like 1 main ScrollView inside that scrollable TextView i have put this code in RelativeLayout

  <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/img_view_flag"
        android:layout_marginTop="17dp" 
        android:paddingBottom="20dip">

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



                <TextView
                    android:id="@+id/tv_desc"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/rel_layout"
                    android:layout_marginTop="15dp"
                    android:maxLines="7"
                    android:scrollbars="vertical"
                    android:text="Medium Text"
                    android:paddingBottom="10dip"
                     android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/black" />


                <RelativeLayout
                    android:id="@+id/rel_layout2"
                    android:layout_width="match_parent"
                    android:layout_height="4dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/tv_desc"
                    android:background="@color/black" >
                </RelativeLayout>

                <TextView
                    android:id="@+id/tv_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/rel_layout2"
                    android:layout_marginTop="24dp"
                    android:maxLines="5"
                    android:scrollbars="vertical"
                    android:text="Small Text"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/black" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/rel_layout2"
                    android:layout_centerHorizontal="true"
                    android:text="Title"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/black" />

                <RelativeLayout
                    android:id="@+id/rel_layout3"
                    android:layout_width="match_parent"
                    android:layout_height="4dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/tv_title"
                    android:background="@color/black" >
                </RelativeLayout>

                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/rel_layout3"
                    android:layout_centerHorizontal="true"
                    android:text="Lyricist"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/black" />

                <TextView
                    android:id="@+id/tv_l"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/textView2"
                    android:text="Small Text"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/black" />

                <RelativeLayout
                    android:id="@+id/rel_layout4"
                    android:layout_width="match_parent"
                    android:layout_height="4dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/tv_l"
                    android:background="@color/black" >
                </RelativeLayout>

                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/textView2"
                    android:layout_below="@+id/rel_layout4"
                    android:text="Composer"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/black" />

                <TextView
                    android:id="@+id/tv_composer"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/textView3"
                    android:text="Small Text"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/black" />

                <RelativeLayout
                    android:id="@+id/rel_layout5"
                    android:layout_width="match_parent"
                    android:layout_height="4dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/tv_composer"
                    android:background="@color/black" >
                </RelativeLayout>

                <TextView
                    android:id="@+id/textView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/textView3"
                    android:layout_below="@+id/rel_layout5"
                    android:text="Adopted"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/black" />

                <TextView
                    android:id="@+id/tv_adopted"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/textView4"
                    android:text="Small Text"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/black" />

                <RelativeLayout
                    android:id="@+id/rel_layout6"
                    android:layout_width="match_parent"
                    android:layout_height="4dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/tv_adopted"
                    android:background="@color/black" >
                </RelativeLayout>

                <TextView
                    android:id="@+id/textView5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Lyrics"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/black" />

                <TextView
                    android:id="@+id/tv_lyri"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/textView5"
                    android:maxLines="10"
                    android:scrollbars="vertical"
                    android:text="Small Text"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/black" />

        </LinearLayout>
    </ScrollView>

but not working for me.... main scrollbar working

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This problem is a little complicated and I don't have enough time to explain, but you can easily get rid of it by adding these onTouch classes at the end of onCreat class or onCreatView class (if you are using fragment).

scrollview1.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                tv_desc.getParent().requestDisallowInterceptTouchEvent(false);

                return false;
            }
        });

tv_desc.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                tv_desc.getParent().requestDisallowInterceptTouchEvent(true);

                return false;
            }
        });

and also for other textviews.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...