Android 鼠标样式修改

Posted 峥嵘life

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 鼠标样式修改相关的知识,希望对你有一定的参考价值。

android 鼠标样式修改

Android 系统鼠标资源文件的位置:

/frameworks/base/core/res/res/drawable-mdpi/drawable/pointer_arrow_icon.xml

资源文件指定了鼠标不同分辨率下的图片资源:
/frameworks/base/core/res/res/drawable-mdpi/drawable/drawable-mdpi/pointer_arrow.png
/frameworks/base/core/res/res/drawable-mdpi/drawable/drawable-hdpi/pointer_arrow.png
/frameworks/base/core/res/res/drawable-mdpi/drawable/drawable-xhdpi/pointer_arrow.png
/frameworks/base/core/res/res/drawable-mdpi/drawable/drawable-xxhdpi/pointer_arrow.png

还有一个pointer_arrow_large.png图片,这个图片是适配大屏幕的设备的。

如果没有在代码中动态修改鼠标图片,那么默认就是显示上面位置的图片。

动态修改鼠标样式的代码:

下面的view_point是鼠标需要更新的图片坐标范围。

    private void setIconArrow() {
        PointerIcon pointerIcon = PointerIcon.getSystemIcon(context, PointerIcon.TYPE_ARROW);//其中TYPE有一些系统定义的TYPE
        view_point.setPointerIcon(pointerIcon);
    }

//给View设置自定义的图片
//这里的load的resourceId需要是资源文件,不能是图片形式

    private void setIconOther() {
        view_point.setPointerIcon(PointerIcon.load(getResources(), R.drawable.pointer_other_icon));
    }

这个view_point可以是某个具体的View比如某个相对布局或者某一块区域的view,

也可以是Activity的Window DecorView比如:

getWindow().getDecorView().setPointerIcon(PointerIcon.load(getResources(), R.drawable.pointer_spot_touch_icon));

具体情况,要看你在哪个界面显示。

pointer_other_icon.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<pointer-icon
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:bitmap="@mipmap/ic_pointer_arrow_new" //设置图片
    android:hotSpotX="5dp"
    android:hotSpotY="5dp" />

PointerIcon源码位置: frameworks/base/core/java/android/view/PointerIcon.java

更多鼠标的设置:https://cloud.tencent.com/developer/article/1719663

共勉:夜深人静

以上是关于Android 鼠标样式修改的主要内容,如果未能解决你的问题,请参考以下文章

WPF 通过EventTrigger修改鼠标样式

如何修改鼠标箭头的样式

MFC编程的时候,改变鼠标光标样式

css+div html 鼠标滑过div里的内容变样式?

Wpf中鼠标样式的修改,作用点修改

(转)OL2中设置鼠标的样式