안드로이드 개발 질문/답변
(글 수 45,052)
지금 제가 온드로우에 onCreate시에 수집한 데이터를 이용하여서
onDraw를 이용하여 그래프를 그리고있습니다.
그런데
온드로우에서 미리 그려진 그림들을 사용할때는 스크롤이 정삭 작동하는데
동적으로 값을 주고 그리고 난뒤를 보면 스크롤 이동시에 뷰가 화면에서 점점 내려가서
계속 스크롤을 위로 아래로 하면 사라져 버림니다.
소스는 다음과같습니다.
혹시 조언해주실꺼 있으면 말좀해주세요..
onDraw를 이용하여 그래프를 그리고있습니다.
그런데
온드로우에서 미리 그려진 그림들을 사용할때는 스크롤이 정삭 작동하는데
동적으로 값을 주고 그리고 난뒤를 보면 스크롤 이동시에 뷰가 화면에서 점점 내려가서
계속 스크롤을 위로 아래로 하면 사라져 버림니다.
소스는 다음과같습니다.
혹시 조언해주실꺼 있으면 말좀해주세요..
public void onClick(View v) { line = new DrawLine(this); line.value = comparedString[0]; line.str2 = contactName; ScrollView scroller = new ScrollView(this); LinearLayout layout = new LinearLayout(this); line.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); layout.addView(line, new LinearLayout.LayoutParams(300,contactName.length * 400)); scroller.addView(layout, new ScrollView.LayoutParams(20,contactName.length * 400)); //line.postInvalidate(); setContentView(scroller); } //DrawLine 클래스 public class DrawLine extends ScrollView{ //생성자 지금 상황을 전달받는 Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); String str2[]; int value; String str ="press"; int startText; int start2; int i = 0; public DrawLine(Context context) { super(context); } public void onDraw(Canvas canvas) { canvas.drawColor(Color.BLUE); mPaint.setColor(Color.WHITE); mPaint.setTextSize(10); canvas.drawText(str2[0], 0, 50, mPaint); //canvas.drawText(str2[1], 0, 50+50, mPaint);// 이부분은 스크롤 정삭 작동합니다... for(int i = 0; i < str2.length; i++,start2 = start2 +15)포문 안에 있는건 스크롤 을 이동시뷰가 점점내려가서 사라져버림니다. { //str = str2[0]; mPaint.setColor(Color.WHITE); mPaint.setTextSize(10); canvas.drawText(str2[i], 0, 50+start2, mPaint); //canvas.drawText(str2[1], 0, 50+start2, mPaint); /*mPaint.setColor(Color.GREEN); mPaint.setStrokeWidth(10); canvas.drawLine(50,50+start2,value*50,48+start2,mPaint); mPaint.setColor(Color.WHITE); mPaint.setTextSize(10); canvas.drawText(String.valueOf(value)+"번",value*51, 50+start2, mPaint); */ } }
}