华域联盟 Andriod Android图像视图ImageView实现图像拉伸效果

Android图像视图ImageView实现图像拉伸效果

Android图像视图ImageView实现图像拉伸效果

 更新时间:2021年05月21日 10:56:11   作者:打代码的浪浪  
这篇文章主要为大家详细介绍了Android图像视图ImageView实现图像拉伸演示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android图像视图ImageView实现图像拉伸效果的具体代码,供大家参考,具体内容如下

在layout调整属性src指定图形来源。Activity中setScaleType设置图形的拉伸类型。

MainActivity

package com.example.junior;
 
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
 
// 页面类直接实现点击监听器的接口View.OnClickListener
public class ScaleActivity extends AppCompatActivity implements View.OnClickListener {
    private ImageView iv_scale; // 声明一个图像视图的对象
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scale);
        // 从布局文件中获取名叫iv_scale的图像视图
        iv_scale = findViewById(R.id.iv_scale);
        // 下面通过七个按钮,分别演示不同拉伸类型的图片拉伸效果
        findViewById(R.id.btn_center).setOnClickListener(this);
        findViewById(R.id.btn_fitCenter).setOnClickListener(this);
        findViewById(R.id.btn_centerCrop).setOnClickListener(this);
        findViewById(R.id.btn_centerInside).setOnClickListener(this);
        findViewById(R.id.btn_fitXY).setOnClickListener(this);
        findViewById(R.id.btn_fitStart).setOnClickListener(this);
        findViewById(R.id.btn_fitEnd).setOnClickListener(this);
    }
 
    @Override
    public void onClick(View v) {  // 一旦监听到点击动作,就触发监听器的onClick方法
        if (v.getId() == R.id.btn_center) {
            // 将拉伸类型设置为“按照原尺寸居中显示”
            iv_scale.setScaleType(ImageView.ScaleType.CENTER);
        } else if (v.getId() == R.id.btn_fitCenter) {
            // 将拉伸类型设置为“保持宽高比例,拉伸图片使其位于视图中间”
            iv_scale.setScaleType(ImageView.ScaleType.FIT_CENTER);
        } else if (v.getId() == R.id.btn_centerCrop) {
            // 将拉伸类型设置为“拉伸图片使其充满视图,并位于视图中间”
            iv_scale.setScaleType(ImageView.ScaleType.CENTER_CROP);
        } else if (v.getId() == R.id.btn_centerInside) {
            // 将拉伸类型设置为“保持宽高比例,缩小图片使之位于视图中间(只缩小不放大)”
            iv_scale.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
        } else if (v.getId() == R.id.btn_fitXY) {
            // 将拉伸类型设置为“拉伸图片使其正好填满视图(图片可能被拉伸变形)”
            iv_scale.setScaleType(ImageView.ScaleType.FIT_XY);
        } else if (v.getId() == R.id.btn_fitStart) {
            // 将拉伸类型设置为“保持宽高比例,拉伸图片使其位于视图上方或左侧”
            iv_scale.setScaleType(ImageView.ScaleType.FIT_START);
        } else if (v.getId() == R.id.btn_fitEnd) {
            // 将拉伸类型设置为“保持宽高比例,拉伸图片使其位于视图下方或右侧”
            iv_scale.setScaleType(ImageView.ScaleType.FIT_END);
        }
    }
}

layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
 
    <ImageView
        android:id="@+id/iv_scale"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_marginTop="10dp"
        android:src="@drawable/apple1" />
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal">
 
        <Button
            android:id="@+id/btn_fitCenter"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="fitCenter"
            android:textColor="#000000"
            android:textSize="11sp" />
 
        <Button
            android:id="@+id/btn_centerCrop"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="centerCrop"
            android:textColor="#000000"
            android:textSize="11sp" />
 
        <Button
            android:id="@+id/btn_centerInside"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="centerInside"
            android:textColor="#000000"
            android:textSize="11sp" />
 
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal">
 
        <Button
            android:id="@+id/btn_center"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="center"
            android:textColor="#000000"
            android:textSize="11sp" />
 
        <Button
            android:id="@+id/btn_fitXY"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="fitXY"
            android:textColor="#000000"
            android:textSize="11sp" />
 
        <Button
            android:id="@+id/btn_fitStart"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="fitStart"
            android:textColor="#000000"
            android:textSize="11sp" />
 
        <Button
            android:id="@+id/btn_fitEnd"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="fitEnd"
            android:textColor="#000000"
            android:textSize="11sp" />
 
    </LinearLayout>
 
</LinearLayout>

result

alt

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。

相关文章

  • Android修改jar文件包名的方法分享

    Android修改jar文件包名的方法分享

    为了防止冲突,修改包名是最直接的途径。下面这篇文章主要介绍了关于Android中修改jar文件包名的方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

    2017-03-03

  • Android 沉浸式状态栏与隐藏导航栏实例详解

    Android 沉浸式状态栏与隐藏导航栏实例详解

    沉浸式状态栏是指状态栏与ActionBar颜色相匹配,隐藏导航栏,就是将导航栏隐藏,去掉下面的黑条。下面通过实例给大家详解android沉浸式状态栏与隐藏导航栏,感兴趣的朋友一起看看

    2017-07-07

  • Android Tabhost使用方法详解

    Android Tabhost使用方法详解

    这篇文章主要为大家详细介绍了Android Tabhost使用方法,如何利用TabHost 实现tab视图,感兴趣的小伙伴们可以参考一下

    2016-06-06

  • Android中asset和raw的区别详解

    Android中asset和raw的区别详解

    本文重点给大家介绍android中asset和raw的区别,以及在使用过程中需要注意点,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧

    2016-07-07

  • 微信Android热更新Tinker使用详解(星空武哥)

    微信Android热更新Tinker使用详解(星空武哥)

    Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件

    2017-09-09

  • 浅谈Android硬件加速原理与实现简介

    浅谈Android硬件加速原理与实现简介

    这篇文章主要介绍了浅谈Android硬件加速原理与实现简介,本文尝试从底层硬件原理,一直到上层代码实现,对硬件加速技术进行简单介绍,感兴趣的小伙伴们可以参考一下

    2018-07-07

  • Android编程设计模式之策略模式详解

    Android编程设计模式之策略模式详解

    这篇文章主要介绍了Android编程设计模式之策略模式,结合实例形式详细分析了Android策略模式的概念、原理、实现方法及相关注意事项,需要的朋友可以参考下

    2017-12-12

  • Android App中实现可以双击放大和缩小图片功能的实例

    Android App中实现可以双击放大和缩小图片功能的实例

    这篇文章主要介绍了Android App中实现可以双击放大和缩小图片功能的实例,文中的例子不能做到逐级放大但可以做到边界控制和以触摸点为中心进行放大,需要的朋友可以参考下

    2016-03-03

  • Android自定义View实现简单文字描边功能

    Android自定义View实现简单文字描边功能

    这篇文章主要为大家详细介绍了Android自定义View实现简单文字描边功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    2018-12-12

  • Android动态修改ToolBar的Menu菜单示例

    Android动态修改ToolBar的Menu菜单示例

    本篇文章主要介绍了Android动态修改ToolBar的Menu菜单示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    2017-02-02

最新评论

本文由 华域联盟 原创撰写:华域联盟 » Android图像视图ImageView实现图像拉伸效果

转载请保留出处和原文链接:https://www.cnhackhy.com/6504.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者:

Android文本视图TextView实现跑马灯效果

Android文本视图TextView实现聊天室效果

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们