setContentView中还是通过layout的xml来创建,
xml中将自己的view外面添加一个scrollview的标签。

解决方案 »

  1.   

    我的程序是在myView中完成一些绘制操作,没用到xml文件,由于绘制的内容比较多,所以想给加个滚动条,谢谢了。
      

  2.   

    突然想明白了,在myView中设置它的contentView为一个xml文件,在xml文件中只有一个TextView,谢谢了
      

  3.   

    1.声明一个layout
    // 设置画面布局   
    ll = new LinearLayout(this.getBaseContext());   
    ll.setOrientation(LinearLayout.VERTICAL);
    2.声明一个ScrollView,把ScrollView添加到ll中
    3.声明一个你自己的MyView,把MyView添加到ScrollView中ScrollView中只能有一个直接元素,如果有多个MyView, 就先放在一个layout中,再把layout放在ScrollView中
      

  4.   

    但这样什么也显示不出来:
    代码:
      package lzu.draw;import android.app.Activity;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Rect;
    import android.graphics.drawable.Drawable;
    import android.graphics.drawable.ShapeDrawable;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.ScrollView;
    import android.widget.TextView;public class draw extends Activity {
        /** Called when the activity is first created. */
    private EditText tt = null;
    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            LinearLayout li = (LinearLayout)findViewById(R.id.linear);
            ScrollView sview = new ScrollView(this);
            li.addView(sview);
            
            sview.addView(new myView(this));
        }
    private class myView extends View{ public myView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    }
    protected void onDraw(Canvas canvas){
    super.onDraw(canvas);
    canvas.drawColor(Color.WHITE);
    Rect rect = new Rect(0,0,40,40);
    Paint paint = new Paint();
    System.out.println("size = " + paint.getTextSize());
    paint.setColor(Color.BLACK);
    paint.setStyle(Paint.Style.STROKE);
    int base_x = 100;
    int base_y = 130;
    for( int i = 0; i < 40; i++){
    paint.setTextSize(15);
    canvas.drawText("hello " + (i + 1), base_x , base_y + i * 10 +                     20, paint);
    }
    }
    }
    }xml:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:orientation="horizontal"
         android:id="@+id/linear"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent">
    </LinearLayout>麻烦你帮我看下,谢谢了