繁体   English   中英

如何在Android中添加用于显示和隐藏动作栏的动画?

[英]How to add animation for showing and hiding actionbar in android?

'公共类GrammarFragment扩展了片段{

public GrammarFragment() {
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_grammar, container, false);
    ObservableWebView webView = (ObservableWebView) v.findViewById(R.id.grammar_webview);
    //webView.loadData("ABC", "text/html", "UTF-8");
    webView.loadUrl("file:///android_asset/grammar/danhtu.html");
    webView.setScrollViewCallbacks(new ObservableScrollViewCallbacks() {
        @Override
        public void onScrollChanged(int scrollY, boolean firstScroll, boolean dragging) {
        }
        @Override
        public void onDownMotionEvent() {
        }
        @Override
        public void onUpOrCancelMotionEvent(ScrollState scrollState) {
            ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
            if (scrollState == ScrollState.UP) {
                if (actionBar != null) actionBar.hide();
            } else if (scrollState == ScrollState.DOWN) {
                if (actionBar != null) actionBar.show();
            }
        }
    });
    return v;
}

}`当隐藏或显示操作栏时,它几乎立即消失或出现在屏幕上,而没有平滑的动画上下滑动。 有什么方法可以配置它以使其平滑显示或隐藏?

像这样修改您的代码

Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
            if (scrollState == ScrollState.UP) {
                if (toolbar != null) {
                    toolbar.animate().translationY(-toolbar.getBottom()).
                            setInterpolator(new AccelerateInterpolator()).start();
                }
            } else if (scrollState == ScrollState.DOWN) {
                if (toolbar != null)
                    toolbar.animate().translationY(0).
                            setInterpolator(new DecelerateInterpolator()).start();
            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM