下面列出了android.view.SurfaceHolder#setFormat ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public SearchView(Context context, StringBuilder queryText) {
super(context);
mContext = context;
mQueryText = queryText;
mPaint = new Paint();
mPaint.setAntiAlias(true);
final SurfaceHolder holder = getHolder();
holder.setFormat(PixelFormat.TRANSLUCENT);
holder.addCallback(mSurfaceCallback);
final Resources res = context.getResources();
int mExtremeRadius = 128;
// Gradient colors.
final int gradientInnerColor = res.getColor(R.color.search_overlay);
final int gradientOuterColor = res.getColor(R.color.search_overlay);
final int[] colors = new int[] {gradientInnerColor, gradientOuterColor};
mGradientBackground =
new GradientDrawable(Orientation.TOP_BOTTOM, colors);
mGradientBackground.setGradientType(GradientDrawable.LINEAR_GRADIENT);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Check for the camera permission before accessing the camera. If the
// permission is not granted yet, request permission.
SurfaceHolder holder = mView.getHolder();
holder.addCallback(this);
holder.setFormat(ImageFormat.NV21);
}
private void init(@SuppressWarnings("UnusedParameters") Context context) {
SurfaceHolder holder = getHolder();
holder.addCallback(this);
holder.setFormat(PixelFormat.RGBA_8888);
setKeepScreenOn(true);
mainThreadHandler = new Handler(Looper.getMainLooper());
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
this.holder = holder;
holder.setFormat(PixelFormat.TRANSLUCENT);
isCreatedFlag = true;
Log.d("Loading","surfaceCreated");
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
this.holder = holder;
holder.setFormat(PixelFormat.TRANSLUCENT);
Log.d("Loading","surfaceChanged");
}
private void initPaint() {
SurfaceHolder holder = getHolder();
holder.addCallback(this);
holder.setFormat(PixelFormat.TRANSPARENT);
setZOrderOnTop(true);
linePaint.setAntiAlias(true);
linePaint.setColor(0xff05225C);
linePaint.setStyle(Paint.Style.STROKE);
linePaint.setStrokeCap(Paint.Cap.ROUND);
linePaint.setStrokeWidth(20);
}
private void init() {
setZOrderOnTop(true);
SurfaceHolder holder = getHolder();
holder.addCallback(this);
holder.setFormat(PixelFormat.TRANSPARENT);
overlayPaint = new Paint();
overlayPaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
overlayPaint.setStyle(Paint.Style.STROKE);
overlayPaint.setStrokeCap(Paint.Cap.ROUND);
overlayPaint.setStrokeJoin(Paint.Join.ROUND);
}