activity_main.xml文件

<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background"android:id="@+id/layout"tools:context="com.example.lenovo.androidstudy.MainActivity">
</FrameLayout>

MainAcivity.java文件`

package com.example;import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.FrameLayout;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);FrameLayout layout=(FrameLayout)findViewById(R.id.layout);//获得帧布局final starView star=new starView(this);//创建一个自定义的starView的View对象star.setOnTouchListener(new View.OnTouchListener() {//给view对象创建一个触摸的监听事件@Overridepublic boolean onTouch(View v, MotionEvent event) {star.setBitmapX(event.getX());//设置view的坐标为手指触碰的坐标star.setBitmapY(event.getY());star.invalidate();//使原来的整个窗口无效,对view进行刷新重绘return true;}});layout.addView(star);//向布局中添加组件}
}

starView.java文件

package com.example;import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;/*** Created by Lenovo on 2020-05-12.*/public class starView extends View{private float bitmapX;//设置view的X坐标private float bitmapY;//设置view的Y坐标//自定义View需要实现一个显示的构造方法,并且重写onDraw方法,一切操作都将在这个方法上执行public starView(Context context){super(context);bitmapX=200;//设置view的初始位置bitmapY=100;}//getters and setterspublic float getBitmapX() {return bitmapX;}public void setBitmapX(float bitmapX) {this.bitmapX = bitmapX;}public float getBitmapY() {return bitmapY;}public void setBitmapY(float bitmapY) {this.bitmapY = bitmapY;}public void onDraw(Canvas canvas) {//重写draw方法super.onDraw(canvas);Paint paint=new Paint();//画笔Bitmap bitmap= BitmapFactory.decodeResource(this.getResources(),R.drawable.mickey);canvas.drawBitmap(bitmap,bitmapX,bitmapY,paint);//canvas画布绘制图片if(bitmap.isRecycled())bitmap.recycle();}
}

Android开发-图片跟着鼠标移动,获取鼠标值相关推荐

  1. 前端图片跟着鼠标跑,鼠标到哪图片到哪

    电脑鼠标一般都是一个小箭头的图标,如果我们想要设置一个图片跟着鼠标走,鼠标移动图片跟着移动该怎么做呢? 效果如下: 代码如下: <!DOCTYPE html> <html lang= ...

  2. jQuery实现图片跟着鼠标移动的效果

    例子: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" con ...

  3. android 获取wifi的ip地址吗,Android开发实现在Wifi下获取本地IP地址的方法

    本文实例讲述了Android开发实现在Wifi下获取本地IP地址的方法.分享给大家供大家参考,具体如下: 代码核心介绍: WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开 ...

  4. Vue实现放大镜,但是放大图片跟着鼠标移动

    Vue实现放大镜,但是放大图片跟着鼠标移动 问题出现在:ref="big"放错位置,应该放在ing中 <template><div class="spe ...

  5. Android开发 Intent传递参数,获取数据为null

    android开发 Activity通过Intent传递参数,获取失败的原因 启动一个有返回值的activity (MapActivity) Intent intent = new Intent(Up ...

  6. android图片底部居中对齐,android开发图片居中的小技巧

    释放双眼,带上耳机,听听看~! 制作UI布局的时候都会出现复杂的LinearLayout嵌套,并且常常会被一些问题混淆,警惕在android中图片居中的小技巧大家都知道吗?别着急,下文是技术狗小编为大 ...

  7. js实现页面上的图片跟着鼠标箭头移动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Android开发图片开源系列框架

    文章目录 1.图片加载,缓存,处理 2.图片裁剪 3.图片选择 4.图片转换,压缩,滤镜 5.高斯模糊,毛玻璃,图片模糊 1.图片加载,缓存,处理 框架名称 : Android Universal I ...

  9. Android开发---图片渲染问题----真的很严重

    Bitmap和Drawable浅谈 一.概念区别 Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB8888.作为一种逐像素的显示对象执行效率高,但是 ...

  10. 图片跟着鼠标_刷完几百张网易云Banner,我发现了2个PPT图片处理的大招!

    大家好,这里是 和秋叶一起学PPT~ 想必大家在学习 PPT 的道路上都或多或少,或坚持或佛系地收集过网易云音乐 Banner,更何况网易云音乐 Banner 常看常新,紧跟时下热点,简直不要太棒! ...

最新文章

  1. 推荐7个Mac端冷门但是一发现就无法自拔的软件
  2. linux 修改系统时间和时区
  3. 简明python教程 --C++程序员的视角(二):函数及作用域
  4. CUDA从入门到精通(零):写在前面
  5. 全地球的水也没办法将这个“特殊”的瓶子装满!
  6. Java中的命令设计模式
  7. Linux进程全解10——守护进程
  8. input 输入事件_输入超时为例学习 Python 的线程和协程
  9. Java对PHP服务器hmac_sha1签名认证方法的匹配实现
  10. oracle磁盘提取工具,实战:巧用磁盘管理工具给oracle提速
  11. fj怎么样_评测:丰田FJ 酷路泽动力及性能怎么样是否值得入手
  12. 同一个页面Button OnClientClick事件 和服务器验证控件提交问题
  13. 第二章、Zigbee模块参数(DRF1609H、DRF2657C)
  14. 【CKA考试笔记】十一、job、cornjob
  15. 操作系统文件保护及文件共享
  16. anaconda安装python3.6_Windows10配置Anaconda+Python3.6+TensorFlow+PyCharm
  17. cesium实现飞线特效
  18. 不要让优秀的现有客户蒙蔽了你未来的客户
  19. 2021-2027全球与中国触控板市场现状及未来发展趋势
  20. 《精通软件性能测试与LoadRunner最佳实战》—第2章2.节

热门文章

  1. java groovy_java 和groovy的混合使用
  2. 计算机视觉及色彩空间RGB,HSV,HLS,Lab,LMS,XYZ,CMYK
  3. (转)gzip文件格式详解
  4. mysql 删除自定义函数_MySQL学习——操作自定义函数
  5. 高低频磨皮(商业磨皮一种)
  6. 用 MeGUI 压制 BDrip
  7. STM32F103 SDID模块SDHC卡读写
  8. android 播放assets下视频,安卓播放assets文件里视频文件相关问题分析
  9. [转] Node.js 服务端实践之 GraphQL 初探
  10. 一条Insert语句怎么优化和解构