Эффективное переключение между видом списка и сеткой в ​​Android с плавным переходомAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Эффективное переключение между видом списка и сеткой в ​​Android с плавным переходом

Сообщение Anonymous »

Я пытаюсь добиться переключения представления, которое позволит пользователю переключаться между «Просмотром списка» и «Просмотром сетки» в Android. Тем не менее, мне это удалось, но я не удовлетворен результатами, поскольку существует высокая вероятность того, что пользователя это раздражает.
Пожалуйста, найдите код ниже, а также ожидаемые и фактические результаты:
fragment_dashboard.xml: NotesListViewModel.kt

Код: Выделить всё

fun addOnButtonCheckedListener(toggleGroup: MaterialButtonToggleGroup,recyclerView: RecyclerView,mContext: Context){
recyclerView.layoutManager = StaggeredGridLayoutManager(2,LinearLayoutManager.VERTICAL)
toggleGroup.addOnButtonCheckedListener { group, checkedId, isChecked ->
if (isChecked){
when(checkedId){
R.id.buttonListView ->{
recyclerView.layoutManager = LinearLayoutManager(mContext,LinearLayoutManager.VERTICAL,false)
}
R.id.buttonGridView ->{
recyclerView.layoutManager = StaggeredGridLayoutManager(2,LinearLayoutManager.VERTICAL)
}
}
}
}
}
DashboardFragment.kt

Код: Выделить всё

@AndroidEntryPoint
class DashboardFragment: Fragment() {
private lateinit var binding: FragmentDashboardBinding
private val viewModel: NotesListViewModel by viewModels()
private lateinit var adapter: NotesListAdapter

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View {
binding = FragmentDashboardBinding.inflate(inflater,container,false)
binding.navController = findNavController()
binding.viewModel = viewModel
adapter = NotesListAdapter(viewModel.getNotes(),findNavController())
binding.adapter = adapter
viewModel.addOnButtonCheckedListener(binding.toggleButtonViewGroup,binding.recyclerViewNotes,requireActivity())
return binding.root
}

override fun onResume() {
super.onResume()
adapter.notifyItemRangeChanged(0,viewModel.getNotes().size)
}
}
1. Фактический результат:
Изображение

2. Ожидаемый результат:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/784 ... smooth-tra
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»