android-如何在滚动视图下放置滚动视图

时间:2011-06-09 07:03:41

标签: android

我的应用程序需要2个滚动视图(sv1,sv2)。 sv1是主滚动视图,sv2是sv1的子滚动视图。    可能吗?然后怎么做。

以下是我的回答。它只在模拟器中工作,但不在设备中工作意味着设备支持sv1只有sv2不工作。

怎么做?

感谢

1 个答案:

答案 0 :(得分:0)

<ScrollView android:id=”@+id/parent_scroll”
        android:layout_width=”fill_parent”
        android:layout_height=”wrap_content”
        android:layout_weight=”1″
        android:background=”@drawable/dotted_bg”
        android:focusableInTouchMode=”false”>
                    <LinearLayout   />
                    <LinearLayout   />
                    <LinearLayout  >
                    <ScrollView android:id=”@+id/child_scroll”  
                    android:layout_width=”fill_parent”
                    android:layout_height=”fill_parent”
                    android:background=”@drawable/text_box_bg”>
                <TextView android:id=”@+id/text_description”
                    android:layout_width=”fill_parent”
                    android:layout_height=”fill_parent”
                    android:textColor=”@color/gray”
                    android:textSize=”12dip”
                    android:padding=”5dip”
                    android:scrollbars=”vertical”/>
                <!–ScrollView>
              </LinearLayout>

第1步:为两个滚动视图提供唯一ID。 第2步:在您的活动中参考这两个scrollview。

 parentScroll=(ScrollView)findViewById(R.id.parent_scroll);
 childScroll=(ScrollView)findViewById(R.id.child_scroll);

步骤3:现在为两者设置触控侦听器。

        parentScroll.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                Log.v(TAG,”PARENT TOUCH”);
                findViewById(R.id.child_scroll).getParent().requestDisallowInterceptTouchEvent(false);
                return false;
            }
        });
        childScroll.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event)
            {
                Log.v(TAG,”CHILD TOUCH”);
                                    // Disallow the touch request for parent scroll on touch of child view
                v.getParent().requestDisallowInterceptTouchEvent(true);
                return false;
            }
        });

完成......