xml文件:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/singleProp"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:visibility="gone">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/propertyImg"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/propertyData"
android:layout_below="@id/propertyImg">
</ListView>
</RelativeLayout>
使用上述代码,图像将固定在顶部中心位置。使用html中的CSS术语,该图片视图的样式为style="position:fixed"
,但我想要的是style="position:relative"
。
我希望图片可以说明这个想法。 我可以知道如何修改我的代码吗?
答案 0 :(得分:2)
让我详细说明mark.zhai`s回答,因为它是我发现的唯一正确方法。
首先,我想指出您应该考虑使用var threshold = 1609344.0;
var groups = from p1 in dbContext.Points
let isCloseToOtherPoint = dbContext.Points.Any(p2 => p1.Geography.Distance(p2.Geography) < threshold)
group p1 by isCloseToOtherPoint into g
select g
代替RecyclerView
来实施您的列表(现在它通常倾向于使用ListView
; RecyclerView
有点被弃用了......)
如果你想确保你的ListView
与你的列表很好地(滚动)(没有太多&#34; side-work&#34;滚动集成),你应该把它实现为列表的第一项。如果您坚持使用ImageView
,则可以使用ListView
功能,并使用header
方法addHeaderView添加ImageView
。如果您决定转移到ListView's
(我认为您应该这样做),您可以通过更加困难的方式实现这一目标(例如here更多)。
答案 1 :(得分:1)
为什么不让imageview成为listview的项目
答案 2 :(得分:1)
为此,您需要创建一个自定义列表视图,其中第一个项目作为图像视图,稍后包含所有列表项目。可能你可以通过使用position(int)
在你的适配器getview方法中控制它例如,如果“位置”等于“0”,则仅显示图像视图,如果位置不等于“0”,则使用“可见性”显示其余元素
注意:这里可能存在性能问题,因为它每次都会加载不必要的视图
答案 3 :(得分:0)
要实现此目的,您需要滚动整个布局。在一般情况下,当您在列表视图上移动时,只会移动列表视图中的项目。 请检查此link。
答案 4 :(得分:0)
我不完全确定你在问什么,因为我对CSS知之甚少,但你可以查看这个描述在相对布局中对齐元素的链接。
您可能想尝试添加alignParentLeft或alignParentRight。 记住边距是对象的外部,填充是内部的。例如,要从左侧移动图像20dp,您将:
<ImageView
android:layout_alignParentLeft="true"
android:layout_marginLeft="20dp"
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/propertyImg"/>
以下是关于掌握相对布局的一些有用链接:
Moving Elements Around in a Relative Layout Tutorial
答案 5 :(得分:0)
为什么不使用 layout_below 将布局设置在下方,并使用 layout_gravity 来设置它的重力。您可以查看这些Link以便更好地了解这些内容,它可以帮助您解决这些问题。