Android 更改鼠标样式

news2024/11/24 13:45:55

定义风格

鼠标风格定义位置:\frameworks\base\core\res\res\values\styles.xml
在这里插入图片描述
系统定义了两套鼠标的风格,一套是默认,一套是放大的图标的风格,在下面增加自己的鼠标风格图标

	<style name="BluePointer">
        <item name="pointerIconArrow">@drawable/pointer_arrow_blue_icon</item>		<!-- 默认指针的图标 -->
        <item name="pointerIconSpotHover">@drawable/pointer_spot_hover_icon</item>
        <item name="pointerIconSpotTouch">@drawable/pointer_spot_touch_icon</item>
        <item name="pointerIconSpotAnchor">@drawable/pointer_spot_anchor_icon</item>
        <item name="pointerIconHand">@drawable/pointer_hand_blue_icon</item>		<!-- 在按钮上手指的图标 -->
        <item name="pointerIconContextMenu">@drawable/pointer_context_menu_icon</item>
        <item name="pointerIconHelp">@drawable/pointer_help_icon</item>
        <item name="pointerIconWait">@drawable/pointer_wait_icon</item>
        <item name="pointerIconCell">@drawable/pointer_cell_icon</item>
        <item name="pointerIconCrosshair">@drawable/pointer_crosshair_icon</item>
        <item name="pointerIconText">@drawable/pointer_text_blue_icon</item>		<!-- 在文本框中I形的图标 -->
        <item name="pointerIconVerticalText">@drawable/pointer_vertical_text_icon</item>
        <item name="pointerIconAlias">@drawable/pointer_alias_icon</item>
        <item name="pointerIconCopy">@drawable/pointer_copy_icon</item>
        <item name="pointerIconAllScroll">@drawable/pointer_all_scroll_icon</item>
        <item name="pointerIconNodrop">@drawable/pointer_nodrop_icon</item>
        <item name="pointerIconHorizontalDoubleArrow">
            @drawable/pointer_horizontal_double_arrow_icon
        </item>
        <item name="pointerIconVerticalDoubleArrow">
            @drawable/pointer_vertical_double_arrow_icon
        </item>
        <item name="pointerIconTopRightDiagonalDoubleArrow">
            @drawable/pointer_top_right_diagonal_double_arrow_icon
        </item>
        <item name="pointerIconTopLeftDiagonalDoubleArrow">
            @drawable/pointer_top_left_diagonal_double_arrow_icon
        </item>
        <item name="pointerIconZoomIn">@drawable/pointer_zoom_in_icon</item>
        <item name="pointerIconZoomOut">@drawable/pointer_zoom_out_icon</item>
        <item name="pointerIconGrab">@drawable/pointer_grab_icon</item>
        <item name="pointerIconGrabbing">@drawable/pointer_grabbing_icon</item>
    </style>

这里只更改了默认,在按钮上和在文本上的鼠标样式,其他的与默认保持一致

以默认图标为例:增加文件\frameworks\base\core\res\res\drawable\pointer_arrow_blue_icon.xml

<?xml version="1.0" encoding="utf-8"?>
<pointer-icon xmlns:android="http://schemas.android.com/apk/res/android"
    android:bitmap="@drawable/pointer_arrow_blue"
    android:hotSpotX="7dp"
    android:hotSpotY="7dp" />

增加鼠标图片
在这里插入图片描述
注意要适配不同的分辨率,要增加多张不同大小的鼠标图片,不然某些分辨率鼠标图标会过大或者过小
在这里插入图片描述

声明风格

声明这个新定义的鼠标样式:\frameworks\base\core\res\res\values\symbols.xml
在这里插入图片描述
这样就可以在java代码中引用:com.android.internal.R.<type>.<name>,在布局xml中引用:“@*android:<type>/<name>”,否则编译时会报找不到这个风格属性的错误

调用

设置鼠标风格位置:\frameworks\base\core\java\android\view\PointerIcon.java
在这里插入图片描述
最后编译系统就可以看到鼠标的样式已经改变
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot Controller接口默认自动填充 业务实体参数值

前言 今天看有小伙伴求救&#xff1a; 我还是一贯如此&#xff0c; 有人不明白&#xff0c;没玩过HandlerMethodArgumentResolver 。 那么很可能不止他一个人&#xff0c; 那么我就有必要出手。 不多说&#xff0c;开搞。 正文 快速模拟出这个使用场景 &#xff1a; 假如有好多…

Allegro174版本新功能介绍之动态铜皮Fast模式设置

Allegro174版本新功能介绍之动态铜皮Fast模式设置 Allegro升级到了174版本后,相比于172版本把动态铜皮的FAST模式优化的更为到位,据介绍,铜皮smooth的时间可以缩短非常多,尤其是针对于数据量非常大PCB,效率提升不少,但是在出生产文件的时候,铜皮还是必须Smooth,见下面o…

Odoo 16 企业版手册 - 库存管理之作业类型

作业类型 Odoo库存模块是有效管理所有类型库存操作的最佳选择。为公司的库存管理提供适当的支持对于完美地运营业务至关重要。当我们谈论Odoo是库存管理的完美解决方案时&#xff0c;您会好奇它提供的功能。在本节中&#xff0c;我们将使用专用库存模块详细介绍Odoo管理的库存操…

Vue(七) 生命周期和组件(一)

目录 1. 生命周期 1.1 引出生命周期 1.2 生命周期——挂载流程 1.3 生命周期——更新流程 1.4 生命周期——销毁流程 1.5 总结 2. 非单文件组件 2.1 对组建的理解 2.2 非单文件组件 2.3 组件的注意点 2.4 组件的嵌套 2.5 VueComponent构造函数 1. 生命周期 生命周期…

正版授权|FastStone Image Viewer 图像编辑转换浏览器软件,个人免费的图像浏览器、转换器和编辑器。

前言&#xff1a;快速、稳定、用户友好的图像浏览器、转换器和编辑器。它具有一系列不错的功能&#xff0c;包括图像查看、管理、比较、红眼去除、电子邮件、调整大小、裁剪、修饰和颜色调整。以下是软件页面。 FastStone Image Viewer 是一个快速、稳定、用户友好的图像浏览器…

软件安全测试需要考虑哪些问题?看看专业软件测评中心怎么说

互联网信息时代&#xff0c;软件产品为我们的生活和工作中带来了极大的便利。我们使用的软件都有包含个人资料以及各类信息等安全因素&#xff0c;因此软件的安全问题是用户最为关注的话题之一。可以有效保障软件产品安全的的关键手段便是软件安全测试&#xff0c;那么在进行软…

力扣sql入门篇(九)

力扣sql入门篇(九) 1 股票的资本损益 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 每个用户的所有Sell的price值减去Buy的price值就可以了 SELECT e.stock_name,sum(e.price) capital_gain_loss FROM ( SELECT stock_name,operation,operation…

解决可见性的方案有哪几种,你都知道吗???

1. 前言 上次【保证原子性的几种方式&#xff0c;你都知道吗&#xff1f;&#xff1f;&#xff1f;】 经过一顿大杂烩后&#xff0c;列举了几种原子性的解决方案。这次我们继续上次的话题&#xff0c;我们来说说可见性的解决方案。废话不多说&#xff0c;让我们赶快开始吧。 2.…

【阶段二】Python数据分析Pandas工具使用10篇:探索性数据分析:数据的检验:正态性检验

本篇的思维导图: 探索性数据分析:数据的检验 数据检索,则是对数据深层次的探索或挖掘,用于验证数据是否服从某种假设,这部分内容将以数据的正态性检验、卡方检验和t检验为例,结合Python讲解具体的使用方法。 正态性检验 统计学中的很多模型或检验都需要…

java旅游日志博客系统旅行记录系统

简介 记录个人旅游动态日志的系统&#xff0c;也可以用来做博客系统&#xff0c;主页可以发布旅游日志&#xff0c;关注博主&#xff0c;给博主留言&#xff0c;管理评论&#xff0c;博文点赞&#xff0c;个人主页。 演示视频 https://www.bilibili.com/video/BV1rv41147W1/?…

(深度学习快速入门)第三章第三节1:深度学习必备组件之数据集处理和参数初始化

文章目录一&#xff1a;数据集的处理&#xff08;1&#xff09;数据集划分&#xff08;2&#xff09;数据集验证&#xff08;3&#xff09;标准化和归一化二&#xff1a;模型参数的初始化&#xff08;1&#xff09;梯度消失和梯度爆炸&#xff08;2&#xff09;模型参数初始化方…

Kafka概述

Kafka入门-1 视频资料&#xff0c;b站&#xff1a;https://www.bilibili.com/video/BV1eD4y1C7uM/?spm_id_from333.788.recommend_more_video.14&vd_source37596bc6f952081640b3f38ea9f6a2cb 深入理解 Kafka: 核心设计与实践原理。PDF 书资料&#xff1a; https://book.…

P8第一讲(选修):反向传播Backpropagation

8. 第 1 讲&#xff08;选修&#xff09;&#xff1a;反向传播_哔哩哔哩_bilibili Gradient Descent neual work基本架构已经学过了 backpropagation(反向传播)可以帮助我们有效的进行渐变迭代计算(帮助计算梯度)。 假设网络有一大堆参数&#xff1a; 首先选一个初始的参数&…

零基础多图详解图神经网络(GNN/GCN)【论文精读】

原文链接&#xff1a; A Gentle Introduction to Graph Neural Networks (distill.pub) 我们不仅仅关系整个图的架构&#xff0c;其实我们更关心的是每个顶点每条边和整个图所表示的信息。 我们如何把我们想要的信息表示成以上这些向量&#xff0c;以及这些向量是否能够通过数据…

uni-app打开第三方地图软件进行导航

最近在开发字节小程序的过程中遇到地图导航的需求&#xff0c;相信大家也会遇到所以我为大家整理了一篇干货内容。 下面是我整理的代码案例---------记得喝水&#xff08;太“干”了&#xff0c;复制就能用&#xff09;。 效果图如下&#xff1a; 1.点击图标弹出弹框进行选择…

数据结构与算法基础——算法分析(1)

算法的定义 算法&#xff1a;对特定问题的求解方法和步骤的描述&#xff0c;在计算机中&#xff0c;他是指令的有限集合。 举例&#xff1a;求解一元二次方程的根 描述算法的基本方式&#xff1a; &#xff08;1&#xff09;自然语言 &#xff08;2&#xff09;流程图 &…

CSS3 弹性盒子(flex、flex-direction属性、flex-wrap属性、align-items属性、align-content属性)详解

文章目录flexflex-direction 属性flex-wrap 属性align-items 属性align-content 属性的使用flex 在 CSS3 中给 display 属性增加了新的属性值 flex&#xff0c;如果一个元素被设置 display:flex&#xff0c;说明该元素为弹性布局&#xff0c;也就是个弹性盒子。 flex 主要由两…

Linux traceroute 原理及使用

Linux traceroute 原理及使用 序 在某次接入数据的场景中&#xff0c;需要到对方 SFTP 服务器上&#xff0c;获取数据&#xff0c;但是在配置时发现在配置正确的情况下&#xff0c; 连接总是超时&#xff0c;最终排查后发现网络不通&#xff0c;打通网络后才正确连接&#xf…

【C++】函数重载

函数重载1.函数重载的背景2.函数重载的概念2.1参数类型不同的重载2.2参数个数不同的重载2.3参数类型顺序不同的重载2.4注意事项&#xff1a;仅仅是返回值不同无法构成函数重载3.C函数重载的原理---函数名字修饰4.函数重载总结1.函数重载的背景 在C语言中&#xff0c;我们写一个…

通信原理 | 基本概念

1 通信及通信系统 通信(Communication)是实现信息和消息传输的过程 通信系统(Communication System)的组成: 实现通信的所有硬件和软件设备、传输媒介以及各种通信协议等 消息(Message)、信息(Information)、信号(Signal)的区别: 消息通常指人的感官能够感受到的…