我找到了一種方法,並會在這裏分享。如果你想要更多的代碼,使用鏈接到我的Stackoverflow answer,我也鏈接了我的問題。
我想我現在還沒有設置正確的代碼或者至少是所有的代碼。
DrawView.java
package com.example.floatingicon;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class DrawView extends View{
Paint paint = new Paint();
public DrawView(Context context){
super(context);
paint.setColor(Color.BLACK);
}
@Override
public void onDraw(Canvas canvas){
canvas.drawLine(240, 0, 240, 620, paint);
canvas.drawLine(0, 200, 480, 200, paint);
}
}
這將引起一個跨屏幕上
MainService.java
import com.example.floatingicon.DrawView;
public class MainService extends Service
{
private DrawView drawView;
@Override
public void onCreate()
{
drawView = new DrawView(this);
final WindowManager.LayoutParams paramsDraw = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
PixelFormat.TRANSLUCENT);
paramsDraw.gravity = Gravity.TOP | Gravity.LEFT;
paramsDraw.x=0;
paramsDraw.y=0;
winManager.addView(drawView, paramsDraw);
}
}
如果您添加到現有的代碼,它應該工作得很好。
只需使用透明的活動。谷歌在如何做到這一點。 –
對不起,我應該澄清。我希望這可以在活動中繪製,當我關閉活動時,該行仍然可見。然後,我可以與其他應用程序進行交互,並執行任何我想要執行的操作。我將在我原來的問題上加上這個澄清。 – CodeMonkey
我剛剛找到我的答案並添加了它。 – CodeMonkey