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

Android 如何将imageView设置为不固定在某个位置,android,html,css,xml,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

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

比如说,

我希望这幅画能说明这个想法。
我可以知道我应该如何修改代码吗?

要实现这一点,您需要滚动整个布局。一般情况下,当您打开列表视图时,只有列表视图中的项会移动。
选中此项。

要实现此目的,您需要滚动整个布局。一般情况下,当您打开列表视图时,只有列表视图中的项会移动。
查看此链接。

我不完全确定您在问什么,因为我对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"/>
以下是一些关于掌握相关布局的有用链接:


我不完全确定你在问什么,因为我对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"/>
以下是一些关于掌握相关布局的有用链接:


为什么不使用下面的layout_将您的布局置于任意下方,并使用layout_gravity设置其重力。您可以检查这些以更好地理解,它将帮助您解决这些问题。

为什么不使用下面的布局来获取您想要的布局,并使用布局重力来设置其重力。您可以检查这些以更好地理解,它将帮助您解决这些问题。

为什么不将imageview作为listview的一个项目呢

首先,我想指出的是,你应该考虑使用RecyclerView而不是ListView来实现你的列表,现在通常倾向于使用RecyclerView;ListView越来越不受欢迎


如果您想确保ImageView能够很好地滚动列表,而不需要在滚动集成方面做太多的工作,那么您应该将其作为列表的第一项来实现。如果您坚持使用ListView,您可以使用它的header函数,并使用ListView的方法添加ImageView。如果您决定使用我认为您应该使用的RecyclerView,您可以以更为困难的方式来完成这项工作。例如,让我详细说明一下答案,因为这是我发现唯一正确的方法

首先,我想指出的是,你应该考虑使用RecyclerView而不是ListView来实现你的列表,现在通常倾向于使用RecyclerView;ListView越来越不受欢迎


如果您想确保ImageView能够很好地滚动列表,而不需要在滚动集成方面做太多的工作,那么您应该将其作为列表的第一项来实现。如果您坚持使用ListView,您可以使用它的header函数,并使用ListView的方法添加ImageView。如果您决定使用我认为应该使用的RecyclerView,您可以用一种更为困难的方式来完成。例如。

为此,您需要创建一个自定义的listview,其中第一个项目作为图像视图,然后拥有所有列表项。可能您可以通过使用positionint在适配器getview方法中控制这一点

例如,如果位置等于“0”,则仅显示图像视图;如果位置不等于“0”,则使用可见性显示其余元素


注意:这里可能会出现性能问题,因为每次都会加载不必要的视图。为此,您需要创建一个自定义的listview,其中第一个项目作为图像视图,然后是所有列表项目。可能您可以通过使用positionint在适配器getview方法中控制这一点

例如,如果位置等于“0”,则仅显示图像视图;如果位置不等于“0”,则使用可见性显示其余元素


注意:这里可能会出现性能问题,因为每次加载不必要的视图时

您可以通过Java文件动态放置ImageView。您可以通过Java文件动态放置ImageView。我可以在listVist中创建一个没有充气器的图像视图吗?当然可以,在编写getView时,当位置为0时,您只需返回一个imageview。我可以
没有充气器的listVist内部的图像视图?当然可以,在写入getView时,只要在位置为0时返回图像视图即可。