我有一个带自定义适配器的列表视图。到目前为止,我已经在第一个"屏幕"上实现了功能。
现在,我想添加一个关于每个项目的详细信息选项卡,它会推动其下方的成员以获得空间。 如何设置下推动画,使其平滑过渡?
答案 0 :(得分:3)
在自定义适配器中,在getView()方法中,可以为视图设置onClickListener,其中包含整行。然后,您可以选择实现动画,以便在用户单击时显示/隐藏其他视图。
向下滑动视图
view.animate().translationY(distance);
您可以稍后将View滑回原来的位置,如下所示:
view.animate().translationY(0);
您还可以轻松组合多个动画。以下动画将向下滑动视图的高度并同时淡入其中:
// Prepare the View for the animation
view.setVisibility(View.VISIBLE);
view.setAlpha(0.0f);
// Start the animation
view.animate()
.translationY(view.getHeight())
.alpha(1.0f);
然后,您可以将视图淡出并将其滑回原始位置。我们还设置了一个AnimatorListener,这样我们就可以在动画结束后将View的可见性设置回GONE:
view.animate()
.translationY(0)
.alpha(0.0f)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
view.setVisibility(View.GONE);
}
});
答案 1 :(得分:1)
我认为您应该使用 ExpandableListView 而不是 ListView 。
查看本教程:http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/
希望有所帮助!
答案 2 :(得分:0)
您的可绘制文件夹中的list_selector.xml文件
UnitEnum.Volt
列表视图
<强>机器人:listSelector =&#34; @可绘制/ list_selector_drawer&#34; 强>
<?xml version="1.0" encoding="utf-8"?>
<selector
android:id="@+id/myselector"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_activated="false"
android:drawable="#C9C9C9" />
</selector>
工作