pat*_*ick 8 transparency android draw android-canvas
我有一个面板,通过relativelayout放置在另一个视图的顶部.
我想给这个面板一个透明的背景,但是在搜索几个小时之后找不到正确的方法.当我将alpha设置回0时,我最终得到黑色背景.
希望有人可以帮助我.
非常感谢!
该面板通过以下代码绘制:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class Panel extends SurfaceView implements SurfaceHolder.Callback {
private ViewThread mThread;
Paint paint = new Paint();
public Panel(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
getHolder().addCallback(this);
mThread = new ViewThread(this);
}
public void doDraw(Canvas canvas) {
canvas.drawARGB(50, 120, 120, 120);
paint.setARGB(255, 255, 0, 0);
paint.setStrokeWidth(2);
int CanvasHeight = canvas.getHeight();
int CanvasWidth = canvas.getWidth();
canvas.drawLine(LeftStartX, LeftStartY, StopX, StopY, paint);
}
public void updateDrawing(float LB, float RB, float BD, float AH, float AD ){
Left = LB;
Right = RB;
Distance = BD;
AHeight = AH;
ADistance = AD;
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
public void surfaceCreated(SurfaceHolder holder) {
if (!mThread.isAlive()) {
mThread = new ViewThread(this);
mThread.setRunning(true);
mThread.start();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
if (mThread.isAlive()) {
mThread.setRunning(false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 26
在构造函数中:
setZOrderOnTop(true);
Run Code Online (Sandbox Code Playgroud)
之后holder.addCallback(this):
holder.setFormat(PixelFormat.TRANSPARENT);
Run Code Online (Sandbox Code Playgroud)
在绘图开始时:
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
Run Code Online (Sandbox Code Playgroud)
在使用关键字 SurfaceView 而不是 Canvas 进行搜索后,我发现这是不可能的。更多信息请参阅:如何使surfaceview透明
因为画布的背景是静态的,所以我给了它完全相同的背景。现在看起来是透明的:)
Bitmap bg = BitmapFactory.decodeResource(getResources(), R.drawable.background_panel_800_480);
canvas.drawBitmap(bg, 0, 0, null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19991 次 |
| 最近记录: |