複雑な背景を持つカスタム ビューを作成します。これは、上部にビットマップ ドローアブル、下に 9 パス ドローアブルの 2 つの要素で構成されます。
私のコードは次のとおりです。
public class MyCustomFrame extends FrameLayout
{
Drawable main, top;
public RequestInfoBottomContainer(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
main = res.getDrawable(R.drawable.bg_main);
top = res.getDrawable(R.drawable.bg_top);
}
@Override
protected void onDraw(Canvas canvas)
{
int width = getMeasuredWidth();
int height = canvas.getHeight();
top.setBounds(0, 0, width, top.getIntrinsicHeight());
main.setBounds(0, top.getIntrinsicHeight(), width, height);
top.draw(canvas);
main.draw(canvas);
}
}
たとえば、上部の描画可能な高さが 10 ピクセル、幅が 500 ピクセル、高さが 200 ピクセルで、境界 0、10、500、200 をメインの描画可能な Android に設定すると、0、0、500、200 の境界が描画されます。つまり、メインが上に描画されます。
私は何を間違っていますか?