我已經創建了此類,它擴展了View並在Canvas中繪製了一個圖形。在繪製圖形時,我正在考慮實際的屏幕高度和寬度,並根據此繪製圖形。Android:如何縮放畫布以適合所需的尺寸
我的問題是我使用這個視圖作爲一個小窗口在另一個活動與所需的大小說100 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>
我想適合我的畫布與我相對佈局的高度和寬度和圖形應可見在那個領域..目前它顯示的視圖,但只有一部分..圖形是不可見的..請幫助我計算我需要做..
所以,你的建議是,我應該將此代碼粘貼到類(代碼我上面顯示),延伸視野和方法的onDraw繪製圖形? –
我其實不知道在哪裏應用這種方法? –
那麼,不要複製/粘貼,而是在您的View類中重寫您的onSizeChanged方法,並使用相同的技巧。 – Simon