2016-03-27 8 views
0

ユーザーが次の画面にスワイプしたときにフェードインしたいですが、正しく動作させることができません。問題はアニメーションが1番目と2番目の画面、3番目と4番目などで同時に開始することです。Android:ViewPagerでテキストアニメーションを設定する方法

ここは私のPageFragmentです。任意の有用な答えを

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    Animation in; 
    Animation out; 

    in = new AlphaAnimation(0.0f, 1.0f); 
    in.setDuration(2000); 

    out = new AlphaAnimation(1.0f, 0.0f); 
    out.setDuration(2000); 

    // Inflate the layout for this fragment 
    View view = inflater.inflate(R.layout.page_fragment_layout,container,false); 
    textView = (TextView)view.findViewById(R.id.textView); 
    Bundle bundle = getArguments(); 
    String message = bundle.getString("count"); 
    textView.setText(message); 
    textView.setAnimation(in); 
    return view; 
}} 

SwipeAdapter

public class SwipeAdapter extends FragmentStatePagerAdapter{ 
public SwipeAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public Fragment getItem(int i) { 
    String[] historia = {"1", "2", "3", "4", "5"}; 
    Fragment fragment = new PageFragment(); 
    Bundle bundle = new Bundle(); 
    bundle.putString("count", historia[i]); 
    fragment.setArguments(bundle); 
    return fragment; 
} 

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

MainActivity

public class MainActivity extends FragmentActivity { 
ViewPager viewPager; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    viewPager = (ViewPager) findViewById(R.id.view_pager); 
    SwipeAdapter swipeAdapter = new SwipeAdapter(getSupportFragmentManager()); 
    viewPager.setAdapter(swipeAdapter); 

}} 

ありがとう! :)

答えて

0

ViewPager.OnPageChangeListenerswipeAdapterswipeAdapter.addOnPageChangeListener()のように)。その後、アニメーションの内容をpublic void onPageSelected(int position)に移動できます。その追加/削除リスナーをonResume/onPauseに電話するのを忘れないでください。

関連する問題