2013-06-12 73 views
0

我剛剛開始使用Android(買了一本書,希望能夠清除大部分這些基本問題,但這隻會在幾周後纔會發佈)。我正在嘗試製作佔據活動窗口一部分的Canvas(否則爲空白)。我想要做的就是充分利用這一點,看看底層繪圖像素和東西是如何工作的。後來我想看看我能不能做一個小小的繪圖程序。基本的畫布使用情況android

基本上,我很困惑如何創建一個畫布上的活動和繪製到。我試圖拼湊出一些可行的東西,它們沒有錯誤地編譯,但沒有做它應該做的事情。這裏是我的嘗試:

import android.app.Activity; 
import android.graphics.Bitmap; 
import android.graphics.Canvas; 
import android.graphics.Paint; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.view.ViewGroup; 


public class Graph extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_graph); 

    View curView = ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0); //should return a view without top bar...? http://stackoverflow.com/questions/4486034/get-root-view-from-current-activity 

    Bitmap bitmap = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bitmap); 
    canvas.drawColor(0xffffffff); 
    canvas.save(); 
    Paint paint = new Paint(); 
    paint.setDither(true); 
    paint.setColor(0xFF0000FF); //blue hopefully 
    paint.setStyle(Paint.Style.STROKE); 
    paint.setStrokeJoin(Paint.Join.ROUND); 
    paint.setStrokeCap(Paint.Cap.ROUND); 
    paint.setStrokeWidth(3); 

    canvas.drawCircle(100, 100, 5, paint); 
    curView.draw(canvas); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.graph, menu); 
    return true; 
    } 

} 

的activity_graph.xml是一樣基本的,因爲它得到:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".Graph" > 

我會很高興的任何修改我的代碼,以及,伴隨着更正了我正在嘗試執行的代碼。我覺得我在這裏錯過了一些重要的東西,但只是想不出什麼。

在此先感謝!

回答