Пытаюсь изменить ориентацию на recyclerview во время выполнения по событию onScrolled. Ниже привожу метод onCreate():
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler);
recyclerView.setAdapter(new MyAdapter(totalItemCount));
// default orientation is VERTICAL
gridLayoutManager = new GridLayoutManager(this, spanCount, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(gridLayoutManager);
RecyclerView.OnScrollListener listener = new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
Log.i("TAG", "current orientation: " + gridLayoutManager.getOrientation());
if (dx > 0) {
Log.i("TAG", "dx = " + dx);
recyclerView.post(new Runnable() {
@Override
public void run() {
gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
}
});
} else if (dy > 0) {
Log.i("TAG", "dy = " + dy);
recyclerView.post(new Runnable() {
@Override
public void run() {
gridLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
}
});
}
recyclerView.setLayoutManager(gridLayoutManager);
}
};
recyclerView.addOnScrollListener(listener);
}
Данный код выполняется без ошибок но и ориентация не меняется. Возможно ли как то поменять ориентацию во время выполнения? Благодарю за помощь.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости