10'un standart uygulamasıyla birlikte LinearLayoutManager
'u deniyorum. Amacım, aygıt dikey yönde iken LayoutManager
öğemi yatay olarak çizmeme izin vermek ve aygıt yatay konumda iken dikey olarak çizmektir. Bunun için ben aşağıdaki kodu kullanabilirsiniz Etkinliğimi en onCreate
:LinearLayoutManager setTelefon rotasyonundan sonra uyarı çalışma çalışmıyor
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.nextColors);
recyclerView.setAdapter(myAdapter = new MyAdapter(getBaseContext(), myData, myLayout);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
linearLayoutManager.setOrientation(LinearLayout.HORIZONTAL);
} else {
linearLayoutManager.setOrientation(LinearLayout.VERTICAL);
}
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
cihaz yatay veya dikey modda iken ben aktiviteyi başlatmak gayet iyi çalışır. Ancak, bu etkinlikte yön değiştirmeyi değiştirdiğimde, öğeler ilk olarak etkinlik başlatıldığında cihazın yönüne bağlı olarak her zaman yatay veya dikey olarak çizilir. Bu, cihaz döndürüldükten sonra etkinlik yeniden oluşturulduğundan ve LayoutManager
doğru yönlendirmeyi alması gerektiğinden, benim için anlamlı değildir.
setOrientation
aygıtın oryantasyon değişiklikleriyle nasıl çalışacağı konusunda bir fikri olan var mı?
Sorununuzu teşhis edebilmek için yeterince kod göstermediniz. Düzeninizi oluşturmak için kullandığınız kodu gösterin. – Squonk
Ne demek istiyorsun? Adaptör RecyclerView'ı destekliyor mu? – Joris
@Squonk Recyclerview ve bağdaştırıcı hakkında daha fazla kod ekledim. – Joris