网上搜来的例子代码,在2.2以上运行的好好的,2.1上什么都不显示。为何以及怎么办? @Override
public void onDraw(Canvas canvas) {

Log.d("ondraw", "lefutott");
Paint paint = new Paint();

paint.setStyle(Paint.Style.FILL);
        paint.setAntiAlias(true);
        paint.setTextSize(20);
        canvas.drawText("Hello Android! Fill...", 50, 230,paint);

我正在使用《Csdn收音机》第一时间获取最新动态!

解决方案 »

  1.   

    沙发自己抢,肥水不留外人田!绿色辅助工具——《Csdn收音机》帮你轻松掌握Csdn最新动向!
      

  2.   

    http://wjhhanbao.iteye.com/blog/1067852这有个例子,我下载权限不够。不知哪位好心人能帮忙下载用2.1系统测试一下,如果可以的话,发给我也试试。我邮箱地址是:[email protected]有人回复了我的帖子,竟然没发现。用《Csdn收音机》告别烦恼!
      

  3.   

    这不就说嘛。可我的确实什么都不显示。lizhengjun2010帮下载的例子倒是可以显示,但我看它的实现差别比较大,基本上还没看明白。它用的不是重载OnDraw的方式,而是扩展的SurfaceView,用线程绘制的,相关代码如下:
    package com.wjh.demon_5;import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Typeface;
    import android.view.KeyEvent;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    import android.view.SurfaceHolder.Callback;public class MainView extends SurfaceView implements Callback,Runnable{
    Thread gameThread = null;
    boolean isGame = true;
    SurfaceHolder holder = null;
    Paint forePaint = null;
    Paint backPaint = null;

    int keyCode = -1;
    boolean isKeyDown = false;

    public int m_nWidth = 50; //显示宽度
    public Typeface m_nTypeFace = null; //存储字体
    public MainView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    setFocusable(true);
    getHolder().addCallback(this);
    holder = this.getHolder();
    backPaint = new Paint();
    backPaint.setColor(Color.BLACK);

    forePaint = new Paint();
    forePaint.setTypeface(Typeface.DEFAULT_BOLD);
    forePaint.setTextSize(20);
    forePaint.setColor(Color.RED);




    }
    @Override
    public void run() {
    // TODO Auto-generated method stub
    while(isGame)
    {
    input();
    logic();
    doDraw();
    try {
    Thread.sleep(100);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    }
    //开始游戏主线程
    public void start()
    {
    if(gameThread == null)
    {
    gameThread = new Thread(this);
    gameThread.start();
    }
    }
    //停止游戏主线程
    public void stop()
    {
    isGame = false;
    if(gameThread != null)
    {
    try {
    gameThread.join();
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    //输入判断
    public void input()
    {
    if( keyCode == KeyEvent.KEYCODE_DPAD_UP && isKeyDown)
    {
    m_nWidth = m_nWidth +(int)forePaint.getTextSize(); 
    isKeyDown = false;
    }
    //如果按下方向键的下键,则调整当前行的位置
    else if(keyCode == KeyEvent.KEYCODE_DPAD_DOWN && isKeyDown)
    {
    m_nWidth = m_nWidth - (int)forePaint.getTextSize();
    isKeyDown = false;
    }

    }
    //逻辑判断
    public void logic()
    {

    }
    public void doDraw()
    {
    System.err.println("doDraw");
    Canvas c = null;
    try
    {
    c = holder.lockCanvas();
    synchronized (holder) {
    paint(c);
    }
    }finally{
    if(c != null)
    {
    holder.unlockCanvasAndPost(c);
    }
    }
    }
    //画图
    public void paint(Canvas canvas)
    {
    System.err.println("paint");
    //清贫
    canvas.drawRect(0, 0, getWidth(), getHeight(),backPaint);

    TextAjust.AjustDrawString(canvas,forePaint,
    "我要自动换行我要自动换行我要自动换行我要自动换行",
    m_nWidth, 50, 50, 30 );


    }
    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
    int height) {
    // TODO Auto-generated method stub

    }
    @Override
    public void surfaceCreated(SurfaceHolder holder) {
    // TODO Auto-generated method stub
    start();

    }
    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
    // TODO Auto-generated method stub
    stop();

    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    //如果按下方向键的上键,则调整当前行的位置
    this.keyCode = keyCode;
    isKeyDown = true; return true;
    }

    }贴图片很累吧,用《Csdn收音机》截图功能轻松解决!