Java 如何使用片段转换设置视图或按钮的动画?
我创建了一个包含5个片段的ViewPager。每个片段都有一个按钮。我想用片段转换旋转那个按钮。当我开始活动时,所有五个按钮都会旋转,所以我只看到第一个片段的按钮的旋转。这是我用于每个片段的代码:Java 如何使用片段转换设置视图或按钮的动画?,java,android,android-fragments,Java,Android,Android Fragments,我创建了一个包含5个片段的ViewPager。每个片段都有一个按钮。我想用片段转换旋转那个按钮。当我开始活动时,所有五个按钮都会旋转,所以我只看到第一个片段的按钮的旋转。这是我用于每个片段的代码: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.quote_1, container, false);
quoteOneShareButton = rootView.findViewById(R.id.q_one_share_btn);
//code to rotate share btn with fragment transition:
RotateAnimation rotateAnimation1 = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rotateAnimation1.setDuration(1500);
rotateAnimation1.setInterpolator(new LinearInterpolator());
quoteOneShareButton.startAnimation(rotateAnimation1);
//end of rotation code
return rootView;
}
我希望每个按钮的动画仅在到达包含它的片段时启动。感谢您的帮助。谢谢大家。这是因为所有5个片段几乎都是在同一时间创建的,所以您不应该在
onCreateView
中启动动画,而是在用户可以看到片段时启动动画
您可以通过在每个片段内调用onResume
方法来实现这一点,但是必须在ViewPager适配器的构造函数中调用BEHAVIOR\u RESUME\u ONLY\u CURRENT\u fragment
BEHAVIOR
@Override
public void onResume(){
super.onResume();
// animtion code..
}