View를 확장하고 Canvas에서 그래프를 그린이 클래스를 만들었습니다. 그래프를 그리는 동안 실제 화면 높이와 너비를 고려하고 그에 따라 그래프를 그립니다.Android : 원하는 크기로 캔버스 크기를 조정하는 방법
내 문제는 원하는 크기의 다른 활동에서 위젯으로이보기를 사용하고 있는데,보기 클래스가 자체 크기를 조정하지 않고 그래프가 아닌 부분 만 잘라내는 것을 보여줍니다. 나는이 캔버스를 원하는 크기에 맞추기 위해 약간의 계산을해야한다는 것을 알고 있지만 어떻게해야하는지 전혀 모른다. 어떤 도움이 좋을지 !! 내가 그래프 그리기입니다
코드 내가
<RelativeLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="vertical"
android:layout_below="@+id/btn_analyze"
android:layout_centerHorizontal="true"
android:id="@+id/rlgraph"
>
<com.aventusoft.mylynel.GraphPlotting
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
나는 내 상대 레이아웃의 높이와 너비와 그래프해야 볼 수 내 캔버스에 맞게 원하는이보기를 사용하고
public class GraphPlotting extends View
{
public void onDraw(Canvas canvas)
{
readPoints();
Paint paint1 = new Paint();
paint1.setColor(Color.rgb(0xFF,0xFF, 0xFF));
paint1.setStrokeWidth(1.0f);
Paint paint2 = new Paint();
paint2.setColor(Color.rgb(0xFF,0xFF, 0xFF));
paint2.setStrokeWidth(10.0f);
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
canvas.drawPaint(paint);
canvas.drawLines(p,paint1);
}
public void readPoints()
{
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
height = dm.heightPixels;
width = dm.widthPixels;
// drawing graph based on above dimension which in my case is 480 by 800
}
XML 레이아웃입니다 해당 영역에 현재보기가 표시되지만 일부만 .. 그래픽이 전혀 표시되지 않습니다 .. 계산에 도움이 필요합니다. 할일이 필요합니다.
따라서, 귀하의 제안은 내가 (코드는 내가 위에서 보여)보기를 확장 된 onDraw 방법에 그래프를 그립니다 내 클래스에이 코드를 붙여해야한다는 것입니다? –
나는이 방법을 적용 할 곳을 실제로 모른다. –
글쎄, 복사/붙여 넣기는 아니지만 View 클래스에서 onSizeChanged 메서드를 재정의하고 동일한 기술을 사용하십시오. – Simon