首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >colorAnimation中不可访问的语句

colorAnimation中不可访问的语句
EN

Stack Overflow用户
提问于 2017-11-16 13:35:03
回答 1查看 55关注 0票数 0

在我开始之前,我只想让大家知道我是Android程序的新手,所以这个问题可能有点傻。

在我的mainActivity.java文件中,我使用了三个viewPager片段:fragment1fragment2fragment3,得到了一个选项卡式布局。

当第二个片段出现时,我希望窗口的背景色能够顺利地改变,为此,我从彩色动画中获得了一个valueAnimator:

代码语言:javascript
复制
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错误。我试过解决它,但它就是不会消失的!任何帮助都很感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-16 13:37:20

return移到onCreateView的末尾,因为return将发回控件,不会更进一步

代码语言:javascript
复制
 @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);
    // ^^^^^^^^
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47331077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档