2013-01-29 3 views
1

이제 내 앱의 이미지를 그릴 때 캔버스 (ondraw())를 사용하고 내 앱의 중앙에캔버스에 listview를 그릴 수 있습니까?

목록을 표시하고 싶습니다. 내가 어떻게해야한다고 생각하니? 2 가지 아이디어가 있습니다.

  1. 대화 상자에 목록보기를 추가하지만 화면이 어둡습니다. 원하지 않습니다. 있는 LinearLayout에서

  2. 추가 목록보기 나는 이미지를 그릴 수없는 Bitmap에 그것을 만들 내

    코드는 다음과 같다 :

    ListView modeList = new ListView(context); modeList.setAdapter(new ImageAdapter(context, objects)); linearlayout = new LinearLayout(context); linearlayout.setOrientation(LinearLayout.VERTICAL); linearlayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); linearlayout.addView(modeList); linearlayout.layout(0, 0, 200, 200); linearlayout.measure((int)Define.getScreenWidth(), (int)Define.getScreenHeight()); linearlayout.setDrawingCacheEnabled(true); linearlayout.buildDrawingCache(true);

을 나는

을 그릴 때

protected void onDraw(Canvas canvas) { canvas.drawBitmap(linearlayout.getDrawingCache(), 200, 200, null); }

그러나 아무것도 그려지지 않습니다. (

+1

가장 좋은 방법은 'Dialog'스타일로 경계선이없고 translucenbt 배경으로 스타일을 지정할 수 있습니다. [this] (http://stackoverflow.com/a/6059132/1705641) 링크를 확인하십시오. – Evos

+0

정말 고마워, 이제는 내 목록보기를 보여줄 수있다. :) – barssala

+0

나는 내 의견을 감동하여 youi가 upvote하고/또는 올바른 것으로 확인할 수 있도록 대답했다. 천만에요! – Evos

답변

1

가장 좋은 방법은 Dialog를 경계선없는 배경과 반투명 배경으로 스타일을 지정할 수 있습니다. 링크 this을 확인하십시오.

1

첫 번째로 +1 투표. 대화 상자의 스타일을 지정하고 어두운 배경을 비활성화하십시오.

두 번째 방법은 복잡합니다. 이제 listview를 자식으로 직접 현재 창에 추가하는 것이 좋습니다. 그러면 모든 다른 뷰의 맨 위에 그려 지거나 모든 뷰를 framelayout에 배치하고 listview를 해당 framelayout에 추가하여 이전에 추가 한 모든 뷰의 맨 위에 올릴 수 있습니다. .

관련 문제