首页主机资讯android滚动控件如何同步滚动

android滚动控件如何同步滚动

时间2024-07-23 19:46:03发布访客分类主机资讯浏览1474
导读:要实现Android滚动控件的同步滚动,可以使用OnScrollListener接口来监听滚动事件,然后通过scrollTo( 或scrollBy( 方法来控制其他滚动控件的滚动位置。 以下是一个示例代码,实现了两个ListView控件的同...

要实现Android滚动控件的同步滚动,可以使用OnScrollListener接口来监听滚动事件,然后通过scrollTo()scrollBy()方法来控制其他滚动控件的滚动位置。

以下是一个示例代码,实现了两个ListView控件的同步滚动:

public class SyncedScrollActivity extends AppCompatActivity {
    
    private ListView listView1;
    
    private ListView listView2;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
    
        setContentView(R.layout.activity_synced_scroll);
    

        listView1 = findViewById(R.id.listView1);
    
        listView2 = findViewById(R.id.listView2);
    

        ArrayAdapter<
    String>
     adapter1 = new ArrayAdapter<
    >
    (this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.items));
    
        ArrayAdapter<
    String>
     adapter2 = new ArrayAdapter<
    >
    (this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.items));
    

        listView1.setAdapter(adapter1);
    
        listView2.setAdapter(adapter2);


        listView1.setOnScrollListener(new AbsListView.OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {

            }


            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    
                listView2.setSelectionFromTop(firstVisibleItem, 0);

            }

        }
    );


        listView2.setOnScrollListener(new AbsListView.OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {

            }


            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    
                listView1.setSelectionFromTop(firstVisibleItem, 0);

            }

        }
    );

    }

}
    

在上面的代码中,我们分别为两个ListView控件设置了相同的滚动监听器,当一个ListView滚动时,另一个ListView会根据第一个的位置进行同步滚动。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: android滚动控件如何同步滚动
本文地址: https://pptw.com/jishu/689856.html
android滚动控件能否监听滚动位置 android滚动控件怎样实现循环滚动

游客 回复需填写必要信息