android开发 模仿鼠标 遥控器 上下左右

android手机遥控android机顶盒,实现鼠标、上下左右、震动软件 android手机遥控android机顶盒,实现鼠标、上下左右、震动软件 可以打游戏,可以完全取代机顶盒外置鼠标和遥控器 立即下载

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

public class Mouseview extends View {

   public float currentX1 = 0;
   public float currentY1 = 0;
   public float x1 = 0;
   public float y1 = 0;
   public float x2 = 0;
   public float y2 = 0;
   public float radios = 0;
   private Bitmap bitmap;
   private OnSlidingDirectionListener onSlidingDirectionListener;

   public Mouseview(Context context) {
      super(context);
   }

   public Mouseview(Context context, AttributeSet attrs) {
      super(context, attrs);
   }

   public Mouseview(Context context, AttributeSet attrs, int defStyleAttr) {
      super(context, attrs, defStyleAttr);
   }

   @Override
   protected void onDraw(Canvas canvas) {
//    Paint p = new Paint();
//    p.setColor(Color.RED);
//    if (bitmap != null) {
//       int height = bitmap.getHeight();
//       int width = bitmap.getWidth();
//       //位置画在图片的中心
//       canvas.drawBitmap(bitmap, currentX1 - height / 2, currentY1 - width / 2, p);
//    }
   }

   @Override
   public boolean onTouchEvent(MotionEvent event) {
      switch (event.getAction()) {
         case MotionEvent.ACTION_DOWN:
            //可以设置个图标  暂时不要
//          bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_remote);
            this.currentX1 = event.getX();
            this.currentY1 = event.getY();

            this.x1 = event.getX();
            this.y1 = event.getY();
//          invalidate();
            break;
         case MotionEvent.ACTION_MOVE:
            this.currentX1 = event.getX();
            this.currentY1 = event.getY();
//          invalidate();
            break;
         case MotionEvent.ACTION_UP:
            //计算是横向滑动还是纵向滑动
            x2 = event.getX();
            y2 = event.getY();
            float distanceY = Math.abs(Math.abs(y1) - Math.abs(y2));
            float distanceX = Math.abs(Math.abs(x1) - Math.abs(x2));
            if (y1 - y2 > 30 && distanceY > distanceX) {
               System.out.println("---------------->向上滑");
               onSlidingDirectionListener.up();
            } else if (y2 - y1 > 30 && distanceY > distanceX) {
               System.out.println("---------------->向下滑");
               onSlidingDirectionListener.down();
            } else if (x1 - x2 > 30 && distanceY < distanceX) {
               System.out.println("---------------->向左滑");
               onSlidingDirectionListener.left();
            } else if (x2 - x1 > 30 && distanceY < distanceX) {
               System.out.println("---------------->向右滑");
               onSlidingDirectionListener.right();
            } else {
               onSlidingDirectionListener.ok();
            }
            //回收bitmap
//          bitmap.recycle();
//          bitmap = null;
//          invalidate();
            break;
      }
      return true;
   }

   public void setMoveListener(OnSlidingDirectionListener onSlidingDirectionListener) {
      this.onSlidingDirectionListener = onSlidingDirectionListener;
   }

   public interface OnSlidingDirectionListener {

      void up();

      void down();

      void left();

      void right();

      void ok();
   }
}
PHP+MYSQL宠物主题动态网页设计源码+数据库,大学生期末大作业,PHP课程设计 PHP+MYSQL宠物主题动态网页设计源码+数据库,大学生期末大作业,PHP课程设计提示:本文采用PHP对数据库进行操作:本文就介绍了PHP实现对MySQL数据库的增删改查操作基础内容。 阅读详情

相关推荐

从零开始使用CubeMX配置STM32使用lwip实现httpd服务器以及使用vscode编辑阅读keil代码(三)

使用stm32搭载lwip实现HTTPd服务器

qq_30623327的博客 5932

android 方向控件 MenuView 上下左右,东南西北

参考代码 原文链接:https://blog.youkuaiyun.com/qq_29194615/java/article/details/105809980 控件样式: 源代码:RoundMenuView .java package com.codecandy.views; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import an...

Big_Liu_bing的博客 1724

eMMC数据擦除的方式

接下来主要是讲解erase、trim、discard的差异,涉及的command有CMD35、CMD36、CMD38。一般用来擦除整卡或者某些分区,如果只想擦除一个。以下是device status的部分解释。eMMC的数据擦除方式有6种,分别是。将会跳过写保护,只执行其他的范围。Discard的命令序列是。Erase的命令序列是。的范围有包含写保护,Trim的命令序列是。

DPJimmy的博客 1763

Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮

上面就是几张预览图!代码在最底下 主要就两个步骤,画图、监听点击 1、整个控件基本上是一步步画出来的,重写onDraw方法开始for循环画扇形出来,画扇形的时候同时画扇形内的图标,扇形画完了之后画中心圆按钮,中心画了圆之后吧OK按钮画上。 2、重写onTouch方法监听手指触发的位置,根据按下的位置确定按钮在哪个扇形的范围上,然后重绘一下onDraw把按下的灰色背景绘制出来。难点在于如何确定

qq_33601179的博客 5572

【backtrader保姆级教学】投资组合回测

method1:探索投资组合的最有方案,使用蒙特卡洛模拟Markowitz模型。# 提取最小波动组合对应的权重, 并转换成Numpy数组。# 绘制收益-标准差的散点图,并用颜色描绘夏普比率。# 在收益-风险散点图中突出风险最小的点。:param any_day: 任意日期。# 将该点坐标显示在图中并保留四位小数。password = “替换密码”# 找到标准差最小数据的索引值。user = “替换账号”# 计算GMV投资组合收益。# 计算每项资产的夏普比率。# 设置无风险回报率为0。

weixin_38132951的博客 2314

学Simulink——基于Simulink的Buck-Boost变换器双闭环PI+抗饱和设计建模示例

本文详细介绍了基于Simulink的非反相Buck-Boost变换器双闭环控制设计方法。针对Buck-Boost变换器特有的右半平面零点(RHPZ)和控制挑战,提出了电压-电流双闭环PI控制架构,并集成抗积分饱和机制。通过Simulink建模,实现了主电路、电流内环PI、电压外环PI、PWM及占空比限幅等模块的搭建,验证了在输入电压跌落(20V→10V)和负载突变(2A→4A)等场景下的稳定性能。仿真结果表明,输出电压波动小于0.35V,恢复时间快于1ms,电感电流有效限幅。文章还讨论了工程实践要点和扩展方

xiaoheshang_123的博客 318

android 上下控制方向盘_Android自定义控件实现方向盘效果

在很多开发中,为了界面更加的友好,在自定义View的基础上,开发者会开发出各种各样的自定义控件来满足实际开发需要,其中有一种”方向盘”的控件在实际开发中非常常见,便于用户进行一些实际性的方向控制。在复习参考了许多自定义控件的基础上,我实现了一个最最基本的方向盘空间,并且可以根据方向做出相应的反应。话不多说,先看看效果。做的有点丑,大家可以看看实际原理,后期再优化具体“方向盘”.空间下面的几行字是我...

weixin_39581652的博客 588

SAP-MM-采购过账接口(与WMS集成)-代码

1、判断传入值非空检验; 2、判断过账日期是否允许在当前期间; 3、判断是否为集采订单业务,是否审批完成; 4、判断是否发布标准成本发布(此业务场景与价格控制3+S有关) 5、保存日志表; 6、判断业务公司订单审批状态; 7、创建STO交货单、集采公司订单过账、STO公司间创建交货单、交货单过账(两步法)、过账失败回滚(冲销交货、删除交货单、冲销集采入库)

qq_32198063的博客 420

android随笔之HID设备遥控

android随笔之HID设备遥控

hmz0303hf的博客 3501

20、Citrix 云桌面常见VDA注册问题汇总

本文总结了与 VDA 中出现的 VDA 会话断开连接、注册、会话卡住以及挂起/崩溃相关的主要支持文章。

我在Citrix、VMware、Veeam、微软和NVIDIA等领域拥有丰富经验的专业人士,专注于设计和维护虚拟化基础设施、实施备份与灾难恢复策略,致力于优化企业的IT环境。 942

IEC 61400-1:2019 附录 C 湍流模型全面解读

IEC 61400-1:2019 附录 C 全面解读

weixin_46713695的博客 470

电脑装windows和安卓双系统引导_Remix mini安卓电脑,玩的不只是Windows那张皮

个人电脑发展几十年以来,台式机一直以其强劲的性能,良好的散热和扩展性,为大多数公司和家庭的首选,尽管随着半导体技术的发展,台式机也在向小型化发展,然而在本质上并没有什么变化,突破性的革命尚未到来,而在此之前,平板电脑和智能手机等泛PC设备高速发展,将PC的功能延展到移动终端,IOS和安卓的生态由此拥有了广泛的用户基础,虽然近年微软也在大力推广跨平台的Windows10系统,但收效甚微,反观安卓系统...

weixin_39802020的博客 7824

华为OD机试 - 魔法收积木 - 二进制(Java 新系统 200分)

华为OD机试 新系统 题库疯狂收录中,刷题。

学Java,找哪吒 442

Android Metro风格的Launcher开发系列第一篇

目录 首先要做的事情是环境搭建 Launcher设计 前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用。但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的目的开始写一个系列的文章,我会把我做一个项目的详细过程分享给大家,供大家参考和交流。好了...

dianliuguo4377的博客 138

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【转载】Android Metro风格的Launcher开发系列第一篇

前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用。但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的目的开始写一个系列的文章,我会把我做一个项目的详细过程分享给大家,供大家参考和交流。好了,评书开讲!可能大家做Android机顶盒或者Android电视开发的比较少,这类开发基本上都是基于源码的...

ghost045的专栏 290

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

[转载] Android Metro风格的Launcher开发系列第一篇

前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用。但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的目的开始写一个系列的文章,我会把我做一个项目的详细过程分享给大家,供大家参考和交流。好了,评书开讲! 可能大家做Android机顶盒或者Android电视开发的比较少,这类开发基本上都是基于源码的开...

weixin_33766168的博客 87

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android Metro风格的Launcher开发系列第一篇(转)

可能大家做Android机顶盒或者Android电视开发的比较少,这类开发基本上都是基于源码的开发,大家有一个git版本库,大家开发完了编译出来一个版本烧到板子上跑,要编译肯定就要编译环境什么的,google推荐的是在Ubuntu系统上搭建开发和编译环境。 首先要做的事情是环境搭建: 大家可以装双系统或者用Oracle VM VirtualBox在Windows...

weixin_30703911的博客 65
上一篇: 设置全屏状态栏字体颜色等
下一篇: android 拦截按键 改变按键
coder_sheng
博客等级 码龄10年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值