带有ListView的Android ImageView,当用户尝试向下滚动时,ImageView会略微向上滚动

时间:2015-05-21 08:29:27

标签: android image listview view scroll

我必须创建一个看起来像这样的布局。它有一个图像视图,下面是列表视图。

我想要的是,当用户尝试向下滚动时,首先图像视图将向上移动以使图像视图的一小部分可见,从而使分配给列表视图的空间更多。只有在图像滚动到新位置后,列表视图才会开始滚动,而不是在此之前。

同样,在向上滚动时,一旦用户到达列表视图的顶部,则图像视图应再次向下滚动以完全可见。

有关如何实现这一目标的任何建议?谢谢。 enter image description here

2 个答案:

答案 0 :(得分:0)

您可以查看:https://github.com/Gnod/ParallaxListView 否则:https://github.com/Frank-Zhu/PullZoomView

mListView = (ParallaxScollListView) findViewById(R.id.layout_listview);
View header = LayoutInflater.from(this).inflate(R.layout.listview_header, null);
mImageView = (ImageView) header.findViewById(R.id.layout_header_image);

mListView.setParallaxImageView(mImageView);
mListView.addHeaderView(header);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_expandable_list_item_1,
        new String[]{
                "First Item",
                "Second Item",
                "Third Item",
                "Fifth Item",
                "Sixth Item",
                "Seventh Item",
                "Eighth Item",
                "Ninth Item",
                "Tenth Item",
                "....."
        }
);
mListView.setAdapter(adapter);

答案 1 :(得分:0)

你试过这个吗? 制作自定义ListView。 另一个布局(layout_header.xml)包含单个图像视图(headImage)。将此布局设置为列表视图的第一个对象。

制作customListView.java。您的customlistView.java将如下所示。我已跳过基本部分希望你可以填写它。

public class CustomListView extends ArrayAdapter<String> {


public CustomList(Activity context,  etc params) { 
  **Your Code
}

@Override
public View getView(int position,View view, ViewGroup parent){
    View rowView;
 if (position == 0){
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(R.layout.layout_header, parent, false);

        ImageView bannerImage = (ImageView)rowView.findViewById(R.id.headImage);

问题是顶部的图像将完全滚动列表