全局窗口二
16lz
2022-01-25
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_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));}@Overrideprotected 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); }}
更多相关文章
- Android打开WIFI或者移动网络的代码实现
- 全局窗口二
- Android(安卓)移动安全知识技术全解(加固技术、常规漏洞、Android
- 你真的认为 Google 只为那些专利才收购摩托罗拉移动的吗?
- 【幻灯片分享】凡客移动应用之Android(安卓)+ HTML5技术运用 |
- Android前景怎么样、是不是要凉了、是不是应该考虑要转行?看完你
- Android(安卓)TV 焦点移动飞框的实现
- Alibaba无线搜索事业部-产品经理(移动端产品android)-北京
- 移动语音引擎相关开发笔记