У меня есть активность с пейджером-адаптером, который содержит некоторые фрагменты. Я также создал progressBar (горизонтальный) в верхней части действия. Мне нужно, чтобы бар показывал прогресс, когда я пробирался сквозь фрагменты. Например, он должен быть серым, когда я нахожусь в первом фрагменте, а затем постепенно увеличиваюсь, когда я прокручиваю фрагменты и полностью зеленый, когда я нахожусь в последнем фрагменте.Как показать прогресс при прокрутке фрагментов?
mainActivity.java
public class testActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pager_adapter);
initialisePaging();
}
private void initialisePaging() {
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this,fragment1.class.getName()));
fragments.add(Fragment.instantiate(this,fragment2.class.getName()));
fragments.add(Fragment.instantiate(this,fragment3.class.getName()));
PagerAdapter mPagerAdapter = new PagerAdapter(this.getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager) findViewById(R.id.viewpager);
pager.setAdapter(mPagerAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_test, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
PagerAdapter.java
public class PagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public PagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int arg0) {
return this.fragments.get(arg0);
}
@Override
public int getCount() {
return this.fragments.size();
}
public void setFragments(List<Fragment> fragments) {
this.fragments = fragments;
}
}
Что следует написать после onPageSelected? – Kaspis245
Вы должны менять цвет своего индикатора выполнения. Создайте массив цветов int или идентификаторов цвета res и получите цвет для позиции и установите его в панель peogress. Ты можешь сделать это? –
Не совсем. Но я попытаюсь. – Kaspis245