Android图片左右移动

发布时间:2020-06-15 11:07:48 作者:老婆的宝宝
来源:网络 阅读:548

这个博文,是在上一篇的基础上修改而成,这次是控制图片左右移动,上下移动类似就不在写了

    

package com.yuanlp.testp_w_picpath;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    private ImageView iv;

    private int dx=0;  //左移的距离

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        iv = (ImageView) findViewById(R.id.iv);
    }

    public void turnBig(View view){
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);

        Matrix matrix=new Matrix();
        matrix.setScale(2,2);  //放大四倍,水平方向2倍,竖直方向2倍
        //买一张纸
        Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth() * 2, bitmap.getHeight() * 2, bitmap.getConfig());
        //买个画板
        Canvas canvas = new Canvas(bitmap1);
        //临摹会话
        Paint paint = new Paint();
        paint.setColor(Color.BLACK);
        canvas.drawBitmap(bitmap,matrix,paint);
        //传入新纸
        iv.setImageBitmap(bitmap1);

    }

    public void turnSmall(View view){
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);

        Matrix matrix=new Matrix();
        matrix.setScale(0.5f,0.5f);

        //买个纸
        Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth() / 2, bitmap.getHeight() / 2, bitmap.getConfig());
        //买个画板
        Canvas canvas=new Canvas(bitmap1);
        Paint paint=new Paint();
        paint.setColor(Color.BLACK);
        canvas.drawBitmap(bitmap,matrix,paint);
        iv.setImageBitmap(bitmap1);



    }

    public void turnLeft(View view){
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);
        dx--;  //每次点击,向左移动
        Matrix matrix=new Matrix();
        matrix.setTranslate(dx,0);  //竖直方向不移动,只有左边移动

        //买个纸
        Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
        //买个画板
        Canvas canvas=new Canvas(bitmap1);

        Paint paint=new Paint();
        canvas.drawColor(Color.WHITE);
        paint.setColor(Color.BLACK);
        canvas.drawBitmap(bitmap,matrix,paint);

        iv.setImageBitmap(bitmap1);


    }

    public void turnRight(View view){
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);
        dx++;  //每次点击,向左移动
        Matrix matrix=new Matrix();
        matrix.setTranslate(dx,0);  //竖直方向不移动,只有左边移动

        //买个纸
        Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
        //买个画板
        Canvas canvas=new Canvas(bitmap1);

        Paint paint=new Paint();
        canvas.drawColor(Color.WHITE);
        paint.setColor(Color.BLACK);
        canvas.drawBitmap(bitmap,matrix,paint);

        iv.setImageBitmap(bitmap1);

    }

}


推荐阅读:
  1. 移动端纯css实现左右滑动
  2. Jquery左右移动

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

图片 android 左右移动

上一篇:linux中如何安装和切换输入法

下一篇:linux系统中删除目录的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》