(캔버스를 사용하고 싶을 수도있는) 그래픽 요소와 위젯/단추가 같은 화면에있는 화면을 원한다면 꽤 일반적 일 것입니다. 하지만 지금까지 살펴본 모든 내용은 위젯으로 가득 찬 화면이나 예를 들어 또는 전체 화면 캔버스의 예를 보여줍니다. 다른 사람이 동시에 두 가지를 사용하기위한 몇 가지 예제 코드를 가리킬 수 있습니까?캔버스와 레이아웃을 결합 하시겠습니까?
... 아니면이 일이 아닌가요?
편집 : 스티브의 제안에 이어 내 코드는 이제 다음과 같습니다
public class CanLay extends Activity
{
Bitmap bm;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.canlay);
InputStream is = getResources().openRawResource(R.drawable.ella);
bm = BitmapFactory.decodeStream(is);
SurfaceView sv;
SurfaceHolder sh;
Canvas can = null;
sv = (SurfaceView)findViewById(R.id.surview);
sh = sv.getHolder();
try
{
can = sh.lockCanvas(null);
synchronized(sh)
{
can.drawBitmap(bm, 0, 0, null);
}
}
finally
{
if (can != null)
{
sh.unlockCanvasAndPost(can);
}
}
}
}
유일한 문제는 지금 그 sh.lockCanvas (NULL); 항상 null을 반환합니다.
감사합니다.하지만 어떻게 표면보기에서 캔버스를 얻을 수 있습니까? – Mick
처음에는 'SurfaceHolder'를 한 번 가져올 수 있습니다. 그 다음에 그릴 때마다 'Canvas'를 얻을 수 있습니다. 물론 findViewById()에서'SurfaceView'를 얻을 수 있습니다. –
나는 당신의 제안이 맞다는 것을 확신하지만, 여전히 일하기가 부족하다는 것을 알고 있습니다 - 편집을보십시오. – Mick