JAVA
package com.example.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView=(ImageView)findViewById(R.id.imageView);
imageView.setScaleType(ImageView.ScaleType.CENTER);
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:weightSum="1">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="200dp"
android:maxHeight="200dp"
android:adjustViewBounds="true"
android:id="@+id/imageView"
android:src="@drawable/b"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/imageView2"
android:src="@drawable/h"
android:scaleType="center"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
运行结果:
注意:
XML属性
android:src : 设置View的drawable
android:adjustViewBounds : 是否保持宽高比
maxHeight :设置View的最大高度,单独使用无效,需与adjustViewBounds一起使用。
如果想设置图片固定大小,又想保持图片宽高比,需如下设置:
1)设置adjustViewBounds为true;
2)设置maxHeight、maxMax;设置View的最大宽度
3)设置layout_width和layout_height为wrap_content;
scaleType属性
设置图片的填充方式
matrix 用矩阵来绘制,动态缩小放大图片来显示
center 按图片的原来的size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长度
等方式