0
복잡한 배경을 가진 사용자 정의 뷰를 만듭니다. 상단 뷰 - 비트 맵 드로어 블과 9- 패스 드로잉 가능 요소에서 두 가지 요소로 구성됩니다.안드로이드는 지정된 위치 대신 캔버스 상단에 9- 경로 드로어 블을 그립니다.
내 코드입니다 : 최고 당김 높이가 10 픽셀 인 경우 예를 들어
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);
}
}
, 폭 500 픽셀, 높이 200 픽셀이고 나는 200 주 당김 안드로이드 무에 경계 0, 10, 500, 설정 그것 0, 0, 500, 200 경계. 나는. 메인은 맨 위에 그립니다.
내가 뭘 잘못 했니?
'top.getIntrinsicHeight()'가 0을 반환 할 수 있습니다. 확인할 수 있습니까? – Vikram
항상 값> 0을 반환합니다. 제 경우 값은 10입니다. – Nik