我创建了这个类,它扩展了 View 并在 Canvas 中绘制了一个图形。在绘制图表时,我正在考虑实际的屏幕高度和宽度,并据此绘制图表。
我的问题是我将此视图用作另一个活动中的小部件,所需大小为 100 x 150 ..但视图类不会自行缩放,只显示它的剪裁部分而不是图形。我知道 O 必须做一些计算才能使这个画布适合所需的大小,但我不知道如何做到这一点..任何帮助都会很棒!
我正在绘制图形的代码是
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 布局
<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>
我想使我的画布适合我的相对布局高度和宽度,并且图形应该在该区域中可见..当前它显示视图但只有一部分..图形根本不可见..请帮助我计算我需要做..