滚动列表视图垂直和水平相同的图像
Posted
技术标签:
【中文标题】滚动列表视图垂直和水平相同的图像【英文标题】:Scroll listview vertical and horizontal same image 【发布时间】:2014-05-02 23:55:39 【问题描述】:我想要设计布局和我附加的图片一样,这个列表视图可以水平和垂直滚动。我通过gridview创建标题A B C,但没有在其余部分添加列表视图。
图片:
【问题讨论】:
我不太清楚您的问题:您能否再解释一下您的期望,您尝试了什么以及现在的行为是什么? 我想创建演示 UI 相同的图像附加,我使用了滚动视图、网格视图和列表视图,但我通过 gridview 创建标题(类似 ABC 的图像),部分“内容 A”...我通过 listview 创建,但我不加入他们 【参考方案1】:据我了解,您尝试将ListView
、ScrollView
或GridView
另一个 GridView
设置为水平滚动的HeaderView
。似乎添加了几个有自己处理滚动事件的小部件。不知道这是否可能。
尝试另一种方式,将您的 GridView
更改为 HorizontalScrollView
并将您的视图 A、B、C.. 放入其中。
<HorizontalScrollView
android:layout_
android:layout_
android:orientation="horizontal" >
Here, your views A, B, C...
</HorizontalScrollView>
查看此简单布局的示例:Scrollabale listview in both direction with header using Horizontal scrollview。
然后,如果您想滚动内容但保持标题部分固定,请尝试使用 ViewGroup
容器(在 LinearLayout、RelativeLayout 或其他内容中)在您的内容上方添加此布局,其中包含:
<RelativeLayout
... >
<include
android:layout="@layout/layout_horizontal_scrollview"
... >
<ListView
... >
</RelativeLayout>
这应该可以解决问题..
但是,如果您希望标题部分同时滚动到您的内容,请尝试将此布局添加为HeaderView
(我刚刚尝试过,它有效):
为标题创建一个HorizontalScrollView
:
<HorizontalScrollView
android:layout_
android:layout_
android:orientation="horizontal" >
Here, your views A, B, C...
</HorizontalScrollView>
将此布局膨胀为HeaderView
:
View header = View.inflate(this, R.layout.layout_horizontal_scrollview, null);
listview.addHeaderView(header);
注意:将HeaderView
添加到 GridView 是不可能的,您可以使用特殊的适配器(如 HFGridView)来做到这一点。
【讨论】:
这个有效,刚试了! headerview 具有水平滚动,而您的列表具有垂直滚动,并且您的标题与内容一起滚动。你用 addHeaderView 给 HorizontalScrollView 充气,它就可以工作了。【参考方案2】:将它们(GridView
和 ListView
)组合成 RelativeLayout
或垂直方向的 LinearLayout
,这样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_ >
<GridView
android:id="@+id/gridview"
android:layout_
android:layout_ >
<ListView
android:id="@+id/listview"
android:layout_
android:layout_
android:layout_below="@id/gridview" >
</RelativeLayout>
通过将数据设置到适配器以编程方式将项目添加到 ListView。
编辑(启用垂直和水平滚动): 试试这个How can I make my layout scroll both horizontally and vertically?。
【讨论】:
但不是垂直滚动和水平滚动 您的意思是要同时滚动它们? 您在HorizontalScrollView
中ScrollView
中的布局中的视图就是答案。检查上面的编辑。
@ghoshak OP 想要一个滚动标题而不是可滚动的内容。这不是一个好习惯,您可以在链接上方的 cmets 上阅读:***.com/a/4492050/2668136
@user3401211 如果您只想滚动(双向)标题而不滚动其下方的内容,您可以仅将 GridView 包装在 HorizontalScrollView 和 ScrollView 中。当我得到 GridView 是标题而 ListView 是你的内容。以上是关于滚动列表视图垂直和水平相同的图像的主要内容,如果未能解决你的问题,请参考以下文章