0
我的應用程序需要2滾動視圖(sv1,sv2)。 sv1是主滾動視圖,sv2是sv1的子滾動視圖。 有可能嗎?那麼該怎麼做。android-如何把滾動視圖下滾動視圖
以下是我的答案。它僅在模擬器中工作,但在設備中不工作意味着設備支持sv1只有sv2不工作。
怎麼辦?
感謝
我的應用程序需要2滾動視圖(sv1,sv2)。 sv1是主滾動視圖,sv2是sv1的子滾動視圖。 有可能嗎?那麼該怎麼做。android-如何把滾動視圖下滾動視圖
以下是我的答案。它僅在模擬器中工作,但在設備中不工作意味着設備支持sv1只有sv2不工作。
怎麼辦?
感謝
<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步:獲取活動中的兩個滾動視圖的引用。
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;
}
});
做...