Я новичок в разработке Android. Я создаю приложение с Fragments
. Ниже приведена диаграмма.Использование компонента ViewPager
Home
экран, имеющий доступ к корневой для всех других экранов. Sales
- ViewPager
, и все остальные экраны после продажи являются его частью. Пользователь может перемещаться и получать доступ.
Но у меня есть проблема. Я планирую использовать один FragmentActivity
для этого приложения. Это Home
. Главный экран представляет собой набор кнопок с изображениями. Если пользователь нажимает кнопку «Продажи», тогда экран Home
переворачивается так же, как и анимация ViewPager
и доступ к экрану Sales
; если пользователь нажимает кнопку «TimeManager», тогда экран Home
переворачивается так же, как и анимация ViewPager
, и доступ к экрану TimeManager
и т. д.
Ниже приводится код HomeScreen
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.home);
}
Теперь представьте себе, я нахожусь в Sales
экране. Как я упоминал ранее, он имеет последовательность страниц (New Lead
и EditInfo
), где пользователь может получить доступ, скользя. Так что это должно быть ViewPager
.
Основываясь на приведенной выше информации, я должен задать 2 вопроса.
В то время как в
Home
экране, как пользователь может нажать на кнопку и сделать экран слайд для перехода к следующему экрану? Когда пользователь находится на следующем экране (например: To Do List), я предпочитаю, чтобы он двигался вправо, чтобы вернуться к экрануHome
. Если это невозможно, по крайней мере нажмите кнопку возврата, чтобы выполнить скольжение. Как я могу это сделать?Это приложение содержит только один
FragmentActivity
, а классFragmentActivity
содержит пользовательский интерфейс главного экрана. Итак, где я должен положитьViewPager
экранаSales
?Sales
-Fragment
, а неFragmentActivity
. Итак, как я могу облегчить его перемещение по страницам NewLead и Edit Info через ViewPager?
Просьба помочь.
UPDATE
Поскольку я посоветовал использовать Fragment
для ViewPager
Я хотел бы знать, является ли это лучше создать отдельный фрагмент для ViewPager
. Ниже приведен код. Каков ваш совет?
public class ViewPagerManager extends Fragment{
private static final int ITEMS = 2;
private ViewPager viewPager;
private MyAdapter pageAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_leads_and_sales_handling);
viewPager = (ViewPager)findViewById(R.id.pager);
pageAdapter = new MyAdapter(getSupportFragmentManager());
viewPager.setAdapter(pageAdapter);
}
private class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public int getCount() {
return ITEMS;
}
@Override
public Fragment getItem(int position) {
if(position==0)
{
return new SalesInqury();
}
else
{
return new NewLead();
}
}
}
}
№ 'Sales' класс Sales.java, 'New Lead' - NewLead.java и так далее. ViewPager должен быть реализован в FragmentActivity, а не в Fragment? Все эти экраны - это фрагменты. – Dongle
Вы можете использовать ViewPager, где бы вы ни захотели. Он не обязательно должен быть в FragmentActivity. Если вы хотите, чтобы Sales, New Lead и Edit Info были частью View Pager, тогда они должны быть фрагментами. Затем вы создаете объект ViewPager и добавляете к нему 3 фрагмента. – Dreagen
Затем следует создать отдельный фрагмент для хранения viewpager? Я обновил образец кода, пожалуйста, посмотрите. – Dongle