【问题标题】:Android Set image in ImageView to bottom centerAndroid将ImageView中的图像设置为底部中心
【发布时间】:2020-09-24 15:11:04
【问题描述】:

我想将几张不同大小的图片一个接一个地设置到一个 ImageView 中。每个图像都应该位于 ImageView 的底部中心,但我无法让它工作。图像居中,但不在底部。这是我的 XML,我基于 this 线程,有问题的 ImageView 在最后(动物)。如何将图像定位在 ImageView 的中心和底部?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:soundEffectsEnabled="true"
    tools:context=".GameActivity">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/level_background"
        android:scaleType="fitXY"
        android:adjustViewBounds="true"
        android:contentDescription="TODO" />

    <ImageButton
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:layout_margin="30dp"
        android:src="@drawable/button_back"
        android:scaleType="fitStart"
        android:background="@null"
        android:id="@+id/button_back"
        android:contentDescription="@string/button_back"
        android:onClick="onClick" />

    <RelativeLayout
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_marginTop="30dp"
        android:layout_gravity="center_horizontal"
        android:scaleType="fitCenter"
        android:id="@+id/image_progress"
        android:background="@null"
        android:orientation="horizontal" />

    <ImageButton
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_marginTop="30dp"
        android:layout_gravity="center_horizontal"
        android:scaleType="fitCenter"
        android:background="@null"
        android:id="@+id/button_letter"
        android:contentDescription="@string/button_letter"
        android:onClick="onClick"/>

    <ImageButton
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_marginTop="680dp"
        android:layout_gravity="center_horizontal"
        android:src="@drawable/button_speaker"
        android:scaleType="fitCenter"
        android:background="@null"
        android:id="@+id/button_animal"
        android:contentDescription="@string/button_animal"
        android:onClick="onClick"/>

    <LinearLayout
        android:id="@+id/left"
        android:layout_width="380dp"
        android:layout_height="fill_parent"
        android:layout_gravity="start"
        android:orientation="vertical />

    <LinearLayout
        android:id="@+id/right"
        android:layout_width="380dp"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:orientation="vertical"/>

    <LinearLayout
        android:id="@+id/middle"
        android:layout_width="380dp"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:orientation="vertical />

    <RelativeLayout
        android:id="@+id/rl"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal|bottom">

        <ImageView
            android:id="@+id/animal"
            android:layout_height="300dp"
            android:layout_width="300dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_gravity="bottom"
            android:layout_marginTop="400dp"
            android:contentDescription="@string/animal"/>

    </RelativeLayout>
</FrameLayout>

【问题讨论】:

    标签: android-studio android-layout


    【解决方案1】:

    您的底部图像视图已将layout_width 设置为0dp. 您应该将其设置为match_parentwrap_content

    <RelativeLayout
            android:id="@+id/rl"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal|bottom">
    
            <ImageView
                android:id="@+id/animal"
                android:layout_height="300dp"
                android:layout_width="300dp"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_gravity="bottom"
                android:layout_marginTop="400dp"
                android:contentDescription="@string/animal"/>
    
        </RelativeLayout>
    

    【讨论】:

    • 不幸的是,这并没有帮助。我最终使用了矩阵比例类型并自己缩放和翻译图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多