在我开始之前,我只想让大家知道我是Android程序的新手,所以这个问题可能有点傻。
在我的mainActivity.java文件中,我使用了三个viewPager片段:fragment1、fragment2和fragment3,得到了一个选项卡式布局。
当第二个片段出现时,我希望窗口的背景色能够顺利地改变,为此,我从彩色动画中获得了一个valueAnimator:
public class fragment2 extends Fragment {
@Override
public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragmentlayout2, null);
int colorFrom = getResources().getColor(R.color.white);
int colorTo = getResources().getColor(R.color.colorFrame2);
ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo);
colorAnimation.setDuration(250); // milliseconds
colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
getView().findViewById(R.layout.fragmentlayout2).setBackgroundColor((int) animator.getAnimatedValue());
}
});
colorAnimation.start();
}
}当我试图运行这个程序时,它会返回一个关于unreachable statement语句的colorFrom错误。我试过解决它,但它就是不会消失的!任何帮助都很感激!
发布于 2017-11-16 13:37:20
将return移到onCreateView的末尾,因为return将发回控件,不会更进一步
@Override
public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
int colorFrom = getResources().getColor(R.color.white);
int colorTo = getResources().getColor(R.color.colorFrame2);
ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo);
colorAnimation.setDuration(250); // milliseconds
colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
getView().findViewById(R.layout.fragmentlayout2).setBackgroundColor((int) animator.getAnimatedValue());
}
});
colorAnimation.start();
return inflater.inflate(R.layout.fragmentlayout2, null);
// ^^^^^^^^
}https://stackoverflow.com/questions/47331077
复制相似问题