我在Fragment中有一个方法需要从活动中调用。
活动运行良好如果我将此代码添加到Activity中,但我希望保持活动清洁并将代码保留在片段中。
我该怎么做?
这是片段
中的方法public void Foreg(final View v) {
ValueAnimator box = ValueAnimator.ofFloat(0, 1);
box.setDuration(1500);
box.start();
box.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
// TODO Auto-generated method stub
float value = ((Float) (animation.getAnimatedValue()))
.floatValue();
v.setRotationX(value * -180);
v.setPivotX(v.getWidth() / 2);
v.setPivotY(v.getHeight());
v.setCameraDistance(10000);
v.setClickable(false);
/*
* float value = ((Float) (animation.getAnimatedValue()))
* .floatValue(); v.setRotationY(value * -160); v.setPivotX(00);
* v.setPivotY(300); v.setCameraDistance(3500);
* v.setClickable(false);
*/
}
});
ValueAnimator box2 = ValueAnimator.ofFloat(1, 0);
box2.setDuration(1500);
box2.setStartDelay(4000);
box2.start();
box2.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
// TODO Auto-generated method stub
float value = ((Float) (animation.getAnimatedValue()))
.floatValue();
v.setRotationX(value * -180);
v.setPivotX(v.getWidth() / 2);
v.setPivotY(v.getHeight());
v.setCameraDistance(10000);
v.setClickable(true);
/*
* float value = ((Float) (animation.getAnimatedValue()))
* .floatValue(); v.setRotationY(value * -160); v.setPivotX(00);
* v.setPivotY(300); v.setCameraDistance(3500);
* v.setClickable(true);
*/
}
});
}
答案 0 :(得分:0)
如果我理解你的问题,你想从活动中调用片段方法Foreg(View v)
。
尝试这种方式:
FragmentManager fm = getSupportFragmentManager();
YourFragmentClass fragment = (YourFragmentClass)fm.findFragmentById(R.id.your_fragment_id);
fragment.Foreg(View v);