0

Я новичок в разработке Android. Я создаю приложение с Fragments. Ниже приведена диаграмма.Использование компонента ViewPager

enter image description here

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 вопроса.

  1. В то время как в Home экране, как пользователь может нажать на кнопку и сделать экран слайд для перехода к следующему экрану? Когда пользователь находится на следующем экране (например: To Do List), я предпочитаю, чтобы он двигался вправо, чтобы вернуться к экрану Home. Если это невозможно, по крайней мере нажмите кнопку возврата, чтобы выполнить скольжение. Как я могу это сделать?

  2. Это приложение содержит только один 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(); 
      } 
     } 
    } 
} 

ответ

0

Вы можете изменить анимацию, используемую при переключении между фрагментами из вашего домашнего экрана с помощью android.animation рамки.Некоторые более подробную информацию можно найти здесь: Animate the transition between fragments

В фрагменте продаж вы будете иметь ViewPager, как Вы предложили, и это ViewPager будет содержать более 3 Fragments один будет по продажам один будет для нового Свинец и один будет для Изменить информацию. Надеюсь, это имеет смысл для вас.

+0

№ 'Sales' класс Sales.java, 'New Lead' - NewLead.java и так далее. ViewPager должен быть реализован в FragmentActivity, а не в Fragment? Все эти экраны - это фрагменты. – Dongle

+0

Вы можете использовать ViewPager, где бы вы ни захотели. Он не обязательно должен быть в FragmentActivity. Если вы хотите, чтобы Sales, New Lead и Edit Info были частью View Pager, тогда они должны быть фрагментами. Затем вы создаете объект ViewPager и добавляете к нему 3 фрагмента. – Dreagen

+0

Затем следует создать отдельный фрагмент для хранения viewpager? Я обновил образец кода, пожалуйста, посмотрите. – Dongle

Смежные вопросы