android转动控件如何同步转动
要实现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
会根据第一个的位置进行同步转动。
tiktok粉丝购买:https://www.smmfensi.com/
TOP