[英]How to scale image X and Y within Android's ImageView equally?
我試圖使徽標具有相同的縮放比例,無論父視圖的大小如何。 現在,徽標在垂直方向上按比例縮小,但在水平方向上沒有縮放,從而使徽標外觀模糊不清。 我希望它可以同時縮放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>
您的圖片顯示取決於兩個因素:
ImageView的大小(可以將其視為可以在其上繪制圖像的Frame或Canvas)及其位置。 如果ImageView
很小,則圖像只能填充該空間量。
第二個因素是scaleType
其被描述在這里 。 如果通過它的scaleType
屬性告訴ImageView
使用“中心”,它將從中心以“圖像”本機大小進行繪制。 如果使用scaleType
“ fit_center”,則圖像將自動縮放以適合ImageView
並具有正確的比例(不會被拉伸或擠壓)。
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.