[英]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.