如何将imageView设置为不固定在某个位置

时间:2015-08-05 07:43:01

标签: android html css xml

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"

例如,enter image description here

我希望图片可以说明这个想法。 我可以知道如何修改我的代码吗?

6 个答案:

答案 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"/>

以下是关于掌握相对布局的一些有用链接:

Relative Layout Params

Moving Elements Around in a Relative Layout Tutorial

Another RelativeLayout Example

Margins and Padding

答案 5 :(得分:0)

为什么不使用 layout_below 将布局设置在下方,并使用 layout_gravity 来设置它的重力。您可以查看这些Link以便更好地了解这些内容,它可以帮助您解决这些问题。