我試圖繪製一個可繪製的背景與路徑。但我得到了一個我無法繪製的點,因爲我需要接收背景的對象的大小。是否有函數來查找我將繪製的特定視圖的大小?在Android中繪製無任何尺寸的自定義繪圖
public class CustomDrawableEditText extends Drawable{
private Context context;
public CustomDrawableEditText(Context context) {
// TODO Auto-generated constructor stub
this.context = context;
}
@Override
public void draw(Canvas canvas) {
// TODO Auto-generated method stub
Path path = new Path();
Paint paint = new Paint();
path.moveTo(0, 0);
path.lineTo(10, 0);
path.moveTo(0, 0);
path.lineTo(0, Y);
path.lineTo(10, Y);
path.moveTo(X, 0);
path.lineTo(X-10, 0);
path.moveTo(X, 0);
path.lineTo(X, X);
path.lineTo(X-10, X);
paint.setColor(context.getResources().getColor(R.color.orange));
paint.setStrokeWidth(2);
paint.setStyle(Paint.Style.STROKE);
canvas.drawPath(path, paint);
}
private int getY() {
final Resources res = context.getResources();
final float scale = res.getDisplayMetrics().density;
return (int) (res.getDimension(R.dimen.dim4) * scale + 0.5f);
}
@Override
public int getOpacity() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void setAlpha(int alpha) {
// TODO Auto-generated method stub
}
@Override
public void setColorFilter(ColorFilter cf) {
// TODO Auto-generated method stub
}
}
我已經通過getwidth和getheight但都是0; – Tsunaze 2013-03-04 15:52:08
@Tsunaze我又增加了一行。 – poitroae 2013-03-04 15:53:18
有問題的視圖通過單擊按鈕後的layoutinflater顯示。我認爲這是在佈局過程之後。 – Tsunaze 2013-03-04 15:54:40