Хорошо, спасибо за ссылку, но я нашел решение: -
Всегда можно использовать пользовательские виджеты, и это тоже не страшно :) В моем случае я использовал пользовательские виды прокрутки и в xml упомянул их имя пакета+ className
Например:
<org.vision_asia.utils.MyScrollView1
android:id="@+id/sv1"
android:layout_below="@id/channel_img_header"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:scrollbars="none">
<LinearLayout
android:background="@color/White"
android:id="@+id/layout_to_add_channel_image"
android:layout_alignParentBottom="true"
android:layout_below="@id/channel_img_header"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical" />
, и вы хотите синхронизировать это ScrollView с другим представлением прокрутки, так что если пользователь прокручивает это представление прокрутки, то одновременно другая прокруткапредставление должно прокручиваться так, как если бы все элементы находились только в одном представлении прокрутки
public class MyScrollView1 extends ScrollView {
public MyScrollView2 sv2;
public MyScrollView1(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public MyScrollView1(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
// TODO Auto-generated method stub
sv2.scrollTo(oldt, t);
super.onScrollChanged(l, t, oldl, oldt);
}
}
, а в основной деятельности вы должны вызывать настраиваемое представление прокрутки следующим образом: -
sv1 = (MyScrollView1)channelsList.findViewById(R.id.sv1);
sv1.sv2 = sv2;
гдеsv2 - это прокрутка, которую нужно синхронизировать
Для полной синхронизации вам понадобятся 2 пользовательских вида прокрутки
Наслаждайтесь