Android中ImageView的scaleType属性

0x00思路

我的目标是在任何尺寸的屏幕下 都按3分之一显示图片,然后3分之二显示其他内容.然而imagesview的scaleType属性有9种:matrix、fitXY、fitStart、fitCenter、fitEnd、center、centerCrop、centerInside.第九种就是没写这个属性.

原图片

0x01基本代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.tjrac.MainActivity" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="2"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@string/text"
        android:scaleType="centerInside"
        android:src="@drawable/sy_scroll_1" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/text" />
</LinearLayout>

</LinearLayout>

然而matrix的的显示效果为

matrix

fitXY的的显示效果为

fitXY

fitStart的的显示效果为

fitStart

fitCenter的的显示效果为

fitCenter

fitEnd的的显示效果为

fitEnd

center的的显示效果为

center

centerCrop的的显示效果为

centerCrop

centerInside的的显示效果为

centerInside

不设置的的显示效果为

不设置

参考链接

http://www.chenyunchao.com/?p=189

Comments