ViewPager - Animate Textview auf SwipeJava

Java-Forum
Anonymous
 ViewPager - Animate Textview auf Swipe

Post by Anonymous »

Mein Swipe -Bildschirm funktioniert perfekt, es hat 3 Fragmente mit wenigen Textansichten pro Fragment. geht. Kein Problem, jedes Fragment im Fragmentcode zu animieren, aber ich weiß nicht, von welchem ​​Fragment ich auf ihn stasse, und dann weiß ich nicht, welcher Nebenstext animiert.

Code: Select all

ViewPager viewPager;
int numberOfViewPagerChildren = 3;
int lastIndexOfViewPagerChildren = numberOfViewPagerChildren - 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_slide_tips);
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
final LayerDrawable background = (LayerDrawable) viewPager.getBackground();

background.getDrawable(0).setAlpha(0); // this is the lowest drawable
background.getDrawable(1).setAlpha(0);
background.getDrawable(2).setAlpha(255); // this is the upper one

viewPager.setPageTransformer(true, new ViewPager.PageTransformer() {
@Override
public void transformPage(View view, float position) {

int index = (Integer) view.getTag();
Drawable currentDrawableInLayerDrawable;
currentDrawableInLayerDrawable = background.getDrawable(index);

if (position = 1) {
currentDrawableInLayerDrawable.setAlpha(0);
} else if (position == 0) {
currentDrawableInLayerDrawable.setAlpha(255);
} else {
currentDrawableInLayerDrawable.setAlpha((int) (255 - Math.abs(position * 255)));
}

}
});
}
}
< /code>
myAdapter: < /p>
class MyAdapter extends FragmentStatePagerAdapter
{

int numberOfViewPagerChildren = 3;

public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment=null;
if(i==0)
{
fragment=new FragementA();
}
if(i==1)
{
fragment=new FragmentB();
}
if(i==2)
{
fragment=new FragmentC();
}
return fragment;
}

@Override
public int getCount() {
return numberOfViewPagerChildren;
}

@Override
public boolean isViewFromObject(View view, Object object) {
if(object instanceof FragementA){

view.setTag(2);

}
if(object instanceof FragmentB){

view.setTag(1);
}
if(object instanceof FragmentC){

view.setTag(0);
}
return super.isViewFromObject(view, object);
}
}
< /code>
Und ein Fragment, sei es fragmenta: < /p>
public class FragmentA extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_fragment_a,container,false);

return v;
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post