滚动视图魔术里面的ListView

对于我的应用程序,我想启用一个看起来像这样的东西:

<ScrollView>
    <LinearLayout orientation="vertical">
        <FrameLayout layout_height="48dp">
            Anything I want here...
        </FrameLayout>
        <ListView>
            It's size will be set to screen height anyway
        </ListView>
    </LinearLayout>
</ScrollView>

我想这样做的是,当用户触摸屏幕进行滚动时,首先只有scrollview滚动,然后,当滚动到达其边缘之一时,滚动事件进入listview并开始滚动.

我该如何实现?

附言这样做的原因是要制作某种隐藏的动作栏,当用户更深入时,该动作栏会从屏幕上滚动下来,然后当他向上滚动时,它应该从底部而不是通过动画出现,而是随着列表的移动而出现.因此,如果我将列表滚动到动作栏高度的一半处-我会在屏幕上看到动作栏的下半部分.
您可以在iOS Google应用中了解我的意思.

任何帮助将不胜感激.

解决方法:

在Layaout中设置参数

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true" >

      <ListView
                    android:id="@+id/listview"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent">
      </ListView>
</ScrollView>

并在编码部分根据设备高度设置列表视图的动态高度

    LayoutParams lp = (LayoutParams) list1.getLayoutParams();
    int height = (arraylist.size()) * 80; 

        //arraylist list is in which all data is kept

    lp.height = height;
    listview.setLayoutParams(lp);

    listview.setAdapter(Adapter);
上一篇:厉害了,如何搭建一套自己的私有网盘?


下一篇:nextcloud升级日志