ListView中的动画视图

时间:2014-12-13 12:30:18

标签: android android-listview scroll android-animation

我有一个relativelayout,它基本上是一个listview和一个按钮。我的列表视图的宽度和高度设置为"match_parent"。我的按钮显示在屏幕底部,显示layout_alignParentBottom = "true";

我希望通过其网址栏获得与Google Chrome相同的效果。我的意思是,我希望能够在向下滚动时使按钮不可见,并且在向上滚动时可见,就像镀铬一样。

我已尝试覆盖列表视图的onScroll()方法并使用TranslateAnimation(),但我无法获得我正在寻找的效果。

提前致谢

2 个答案:

答案 0 :(得分:0)

你可以使用FloatingActionButton库来安装android 在xml中使用它:

<ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

<com.melnykov.fab.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:src="@drawable/ic_action_content_new"
        fab:fab_colorNormal="@color/primary"
        fab:fab_colorPressed="@color/primary_pressed"
        fab:fab_colorRipple="@color/ripple" />

然后将其附加到listView:

ListView listView = (ListView) findViewById(android.R.id.list);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.attachToListView(listView);

答案 1 :(得分:0)

你需要在ListView上设置一个滚动监听器,并在其中写入滚动方法。当listview向上滚动时,就像隐藏按钮一样。但是你不能直接在listview上实现TranslteAnimation,而FileAfter是真的。这会导致一个复杂的问题。