无论父级视图的大小如何,我都试图让徽标具有相同的缩放比例。现在,徽标垂直缩小,但没有横向缩放,导致徽标看起来很模糊。我希望它能同等地缩放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>
答案 0 :(得分:0)
您的图像显示由两个因素决定:
ImageView的大小(您可以将其视为可以绘制图像的帧或画布)及其位置。如果ImageView
很小,则图片只能填充该空间量。
第二个因素是scaleType
,其描述为here。如果您通过ImageView
属性告诉scaleType
使用“中心”,它将从图像原生大小的中心绘制。如果您使用scaleType
“fit_center”,图像将自动缩放以适合ImageView
的正确比例(不会被拉伸或压扁)。
希望有所帮助!