0
このアルバムは私が何をしたいのかを説明し、私がいる問題は、ベクターは、サイズを変更していない場合:http://imgur.com/a/HM3K2問題は、プログラム的
これは私がスケーリングしようとする撮影したアプローチでありますベクトル、動作していないよう:使用されているVectorOverlayメソッド内
private Bitmap drawCirclePreview(int color, Shape square) {
//An object from my 'VectorOverlay' class which resolves the resource...
VectorOverlay circleOverlay = new VectorOverlay(color);
//...and returns a drawable
Drawable drawable = circleOverlay.drawCircleOverlay(this);
Bitmap bitmap;
//Make bitmap with same dimensions as the square (redundant, I know)
bitmap = Bitmap.createBitmap(square.getWidth(), square.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
}
:
public Drawable drawCircleOverlay(Context context){
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.circle_overlay);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, color);
return drawable;
その後、私は新しいLayerDrawableのためのレイヤーを作成します。
private void drawSquarePreview(){
Drawable[] layers = new Drawable[2];
//[...] omitting code for when the square object is created and drawn
layers[0] = new BitmapDrawable(squareBmp);
layers[1] = new BitmapDrawable(drawCirclePreview(Color.parseColor("#4af9d8"), square));
LayerDrawable layerDrawable = new LayerDrawable(layers);
ivPreview.setImageDrawable(layerDrawable);
}
しかし、結果は写真のとおりです。私は困惑している。私は長い間、答えを探し続けてきましたが、まだ解決策を見つけることはできません。どんな助けでも大歓迎です。
追加情報:私はサポートライブラリを使用して、古いAPIのベクタードロワブルを処理しています。
ありがとうございました。私は別のファイルまたはその同じ形状の下にストライプを追加して、それらをLayerDrawableの別のレイヤーに追加できると思いますか? – Joel