从新的Design Support Library开始,我想动画浮动操作按钮(FAB),以便在片段或标签更改时缩小和展开。
我尝试了几种转换,但是无法像this中的示例那样顺利和连接,所以我认为有更好的方法或正确的方法来做到这一点。
答案 0 :(得分:7)
在ViewPager.OnPageChangeListener()
我会使用btn.setScaleY()
和btn.setScaleX()
,具体取决于onPageScrolled()
方法的偏移量。
答案 1 :(得分:0)
最简单的方法:
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
@Override
public void onPageSelected(int position) {}
@Override
public void onPageScrollStateChanged(int state) {
switch (state) {
case ViewPager.SCROLL_STATE_IDLE:
switch (viewPager.getCurrentItem()) {
case 0: {
fab.setImageResource(R.drawable.your_drawable);
fab.show();
break;
}
case 1: {
fab.setImageResource(R.drawable.your_another_drawable);
fab.show();
break;
}
}
break;
case ViewPager.SCROLL_STATE_DRAGGING:
case ViewPager.SCROLL_STATE_SETTLING:
fab.hide();
break;
}
重要:要提高绘图效果,请尝试使用.svg格式,或者减小png的大小。