<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
public class LrcTextView extends TextView {
private final String TAG = LrcTextView.class.getSimpleName();
public static int TOOL_BAR_HIGH = 0;
public static WindowManager.LayoutParams params = new WindowManager.LayoutParams();
private WindowManager wm = (WindowManager)getContext().getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
private String text;
private float float1 = 0.0f;
private float float2 = 0.01f;
public LrcTextView(Context context) {
super(context);
text = "点我随机移动";
this.setBackgroundColor(Color.argb(90, 150, 150, 150));
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
float1 += 0.001f;
float2 += 0.001f;
if(float2 > 1.0){
float1 = 0.0f;
float2 = 0.01f;
}
this.setText("");
float len = this.getTextSize() * text.length();
Shader shader = new LinearGradient(0, 0, len, 0,
new int[] { Color.YELLOW, Color.RED }, new float[]{float1, float2},
TileMode.CLAMP);
Paint p = new Paint();
p.setShader(shader);
p.setTypeface(Typeface.DEFAULT_BOLD);
canvas.drawText(text, 0, 10, p);
}
public void updatePosition(int x, int y){
params.x = x;
params.y = y;
wm.updateViewLayout(this, params);
}
}
分享到:
相关推荐
JavaScript实现IFrame子窗口调用父窗口的全局变量
vbhook全局窗口标题,记录打开的窗口的标题
2. 创建悬浮窗口布局和自定义视图类。 3. 在自定义视图中处理触摸事件,实现拖动。 4. 设置合适的`WindowManager.LayoutParams`,包括窗口类型、位置和尺寸。 5. 添加权限并在合适的地方显示悬浮窗口。 以上就是...
2. **全局鼠标钩子**: 鼠标钩子是Windows API提供的一种机制,允许应用程序监控系统中鼠标事件的发生。在全局鼠标钩子中,通过SetWindowsHookEx函数注册一个钩子,这样就可以捕获到系统范围内的所有鼠标事件,无论...
在Windows Presentation Foundation (WPF)应用程序中,全局快捷键(Global Hotkeys)允许用户在不与应用程序窗口交互的情况下触发特定功能。这通常用于实现像“Ctrl+Alt+S”这样的组合键,无论焦点在哪个应用程序上...
全局钩子就是通过设置一个钩子函数,使得在这些消息被发送到目标窗口之前,先经过钩子函数处理。 首先,我们需要定义一个钩子处理函数(通常为静态函数),该函数接收消息并可以进行相应的处理。这个函数的原型应...
2. 消息循环:使用`GetMessage()`和`TranslateMessage()`/`DispatchMessage()`来处理窗口消息,其中包括热键事件。 3. 处理热键事件:当检测到热键被按下时,需要找到要隐藏的窗口。这通常通过`FindWindow()`或`...
mfc安装全局钩子,显示窗口的标题
2、在子窗口的初始化函数里加上父窗口的指针 ,然后在子窗口的类中使用全局变量保存父窗口的指针。如: 父窗口类为CMyDlg(父类为CDialog),子窗口类为CMySon(父类为CDialog),则在CMyDlg::OnInitDialog()中初始化子...
【标题】:HOOK小工具(进程、窗口、全局) 【描述】:HOOK小工具是一种能够实现进程注入、窗口钩子以及全局钩子的技术应用。它允许开发者通过编程方式监控或改变其他程序的行为,例如,本例中提到的“用进程方法注入...
全局钩子(Global Hooks)是Windows操作系统中一种高级技术,允许开发者监视系统级事件,如鼠标、键盘输入或特定窗口的活动。C#全局钩子的实现通常涉及到使用C++编写一个动态链接库(DLL),因为Windows API的钩子...
// 切换到第二个子窗口 ``` 窗口间的数据传递主要依赖于Qt的信号与槽机制。这是一种事件驱动的编程模型,允许对象间通信并同步操作。以下是几种传递数据的方法: 1. 直接传递:在打开子窗口时,将需要的数据作为...
你是公司白领吗?是不是总是偷偷在电脑上玩连连看之类的小游戏?...不用担心,有我在,只要按下ALT+Z就可以隐藏当前窗口,再按即会显示出来刚刚被隐藏的窗口.双击有说明 :) 我的博客http://www.kumouse.com
这个库就是为此目的设计的,它允许开发者在不依赖特定窗口的情况下捕获全局的鼠标点击、移动、释放以及键盘按键、释放事件。 对于Windows平台,库可能利用`WH_MOUSE_LL`和`WH_KEYBOARD_LL`低级钩子,这些钩子允许...
C# WinForm通过全局变量实现不同窗体之间传值的解决方案的源码
全局键盘钩子是Windows操作系统中一种高级技术,它允许应用程序拦截和处理系统中其他应用程序的键盘事件,即使这些事件在焦点窗口之外。这种技术在开发特定类型的应用程序时非常有用,比如系统监控、输入法软件或者...
全局热键,也称为系统热键或快捷键,是指在任何应用窗口激活的情况下,用户按下特定组合键都能触发相应操作的功能。 在Qt中,全局热键的实现主要依赖于`QShortcut`类。`QShortcut`类允许我们定义一个键盘快捷键,当...
全局快捷键(Global Shortcut)允许用户在应用程序之外,甚至在其他应用程序窗口上激活特定功能。这对于提高用户效率和提供便捷操作至关重要。 在Qt5中,我们可以使用`QShortcut`类来创建全局快捷键。`QShortcut`类...
核心知识点2:`GetClassName` API函数 在获取窗口句柄后,我们可能还需要知道窗口的类名。`GetClassName`函数用于获取指定窗口的类名,这对于识别窗口类型非常有用,例如区分是对话框、按钮还是文本框等。 以下是一...
2. 在主程序中加载和调用DLL,管理DLL资源。 3. 使用VCL组件创建子窗口,实现窗口的显示和隐藏逻辑。 4. 数据传递,可以使用参数、全局变量或事件机制。 5. 考虑线程安全和程序架构,确保主程序和子窗口的协同工作。...