0

无论父视图的大小如何,我都试图让徽标具有相同的缩放比例。现在,标志是垂直缩小的,但没有水平缩小,导致标志看起来很脏。我希望它能够平等地缩放 x 和 y,这样它就可以保持它的形状,而不会出现弄脏或拉伸的外观。

我尝试了各种 scaleTypes,但到目前为止它们似乎没有帮助。

按钮的 XML 代码:

<ImageView
                android:id="@+id/logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_toRightOf="@id/title"
                android:background="@android:color/transparent"
                android:src="@android:color/transparent" />

完整的 XML 代码(给出上下文):

<RelativeLayout
            android:id="@+id/menu"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="30"
            android:background="@android:color/transparent"
            android:baselineAligned="false" >

            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                android:gravity="right|bottom"
                android:shadowColor="@android:color/transparent"
                android:text="THE BLIND GOAT"
                android:textColor="@android:color/transparent"
                android:textSize="24dp"
                android:textStyle="bold|italic"
                android:typeface="sans" />

            <Button
                android:id="@+id/help"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/title"
                android:background="@android:color/transparent"
                android:clickable="false"
                android:paddingBottom="0dp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:paddingTop="0dp"
                android:text="HELP"
                android:textColor="@android:color/transparent"
                android:textSize="9dp"
                android:textStyle="bold"
                android:typeface="monospace" />

            <Button
                android:id="@+id/settings"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/help"
                android:layout_below="@id/title"
                android:background="@android:color/transparent"
                android:clickable="false"
                android:paddingBottom="0dp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:paddingTop="0dp"
                android:text="SETTINGS"
                android:textColor="@android:color/transparent"
                android:textSize="9dp"
                android:textStyle="bold"
                android:typeface="monospace" />

            <Button
                android:id="@+id/logout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/settings"
                android:layout_below="@id/title"
                android:background="@android:color/transparent"
                android:clickable="false"
                android:paddingBottom="0dp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:paddingTop="0dp"
                android:text="LOGOUT"
                android:textColor="@android:color/transparent"
                android:textSize="9dp"
                android:textStyle="bold"
                android:typeface="monospace" />

            <Button
                android:id="@+id/profile"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/settings"
                android:background="@android:color/transparent"
                android:clickable="false"
                android:textColor="@android:color/transparent"
                android:textSize="15dp"
                android:textStyle="bold"
                android:typeface="serif" />

            <ImageView
                android:id="@+id/logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_toRightOf="@id/title"
                android:background="@android:color/transparent"
                android:src="@android:color/transparent"
                android:scaleType="centerCrop" />
        </RelativeLayout>
4

1 回答 1

0

您的图像显示由两个因素决定:

ImageView 的大小(您可以将其视为可以绘制图像的 Frame 或 Canvas)及其位置。如果ImageView很小,则图像只能填充该空间量。

第二个因素是这里scaleType描述的。如果您告诉via 它的属性使用“中心”,它将以图像本机大小从中心绘制。如果您使用“fit_center”,图像将自行缩放以适应正确的比例(它不会被拉伸或压扁)。ImageViewscaleTypescaleTypeImageView

希望有帮助!

于 2012-09-11T15:31:03.143 回答