`
月下独酌
  • 浏览: 128546 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

全局窗口二

 
阅读更多
<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);
	 }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics