【问题标题】:How to stack multiple imageviews on top of eachother on my android layout?如何在我的 android 布局上堆叠多个图像视图?
【发布时间】:2021-07-26 07:48:49
【问题描述】:

基本上,我对 android 开发还很陌生,我正在尝试制作一个 android 布局,它的中心有多个图像堆叠在彼此之上。每个图像都必须能够独立于其他图像旋转(我已经实现了),理想情况下它们都将共享同一个中心。就目前而言,我有 4 个这样的图像(两个 ImageViews 和两个 ProgressBars),但只有列表中的前两个图像居中,其余图像分散在屏幕周围:

This is how it looks in the preview, and how its supposed to look like

This is how it actually looks like in the emulator

这是这部分的 XML:

<RelativeLayout
    android:layout_width="760dp"
    android:layout_height="804dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.767">

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="559dp"
        android:layout_height="521dp"
        android:layout_gravity="center"
        android:indeterminateOnly="false"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:progressDrawable="@drawable/circlebar"
        tools:progress="60" />


    <ProgressBar
            android:id="@+id/imageView3"
            android:layout_width="445dp"
            android:layout_height="503dp"
            android:layout_gravity="center"
            android:indeterminateOnly="false"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            android:progressDrawable="@drawable/circleblue"
            tools:progress="80" />


    <ImageView
        android:id="@+id/imageView5"
        android:layout_width="406dp"
        android:layout_height="454dp"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:scaleType="centerInside"
        android:src="@drawable/pointerbig1" />

    <ImageView
        android:id="@+id/arrow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_gravity="center"
        android:scaleType="centerInside"
        android:src="@drawable/arrow" />


</RelativeLayout>

我已经尝试了我能想到的一切都无济于事。前两个元素似乎重叠得很好,但其余元素会分散,我不确定是什么原因造成的。我尝试以多种方式将它们居中,我尝试将其设为 FrameLayout,但没有什么可以解决它。 请帮忙。

【问题讨论】:

    标签: android xml layout


    【解决方案1】:

    您可以使用ConstraintLayout 并添加

        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
    

    到所有子视图。这样,它将使所有视图居中

    【讨论】:

    • 我好像已经修好了。实际的问题是旋转动画没有以图像的中心为中心(即使它应该是),所以问题根本与 XML 无关。尽管如此,还是非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    相关资源
    最近更新 更多