setContentView中还是通过layout的xml来创建,
xml中将自己的view外面添加一个scrollview的标签。
xml中将自己的view外面添加一个scrollview的标签。
解决方案 »
- 请教下 Eclipse的常用快捷键
- 反编译的apk文件后,怎样看activity对应的xml文件
- 求求求求求求 Android 接收彩信代码
- 如何重写onInterceptTouchEvent, 拦截水平滚动
- 初学android ,请教
- 请教:Android下怎样让Activity的一部分用于画图而不占用整个Activity 另一部分显示其他控件
- 新浪微博客户端开发中accessToken问题
- android 程序使用jquery 日期控件选中日期时间时系统崩了
- 从php服务器获取的json数据怎么解析啊?求帮忙解答
- View.OnClickListener()被禁用,怎么办
- ListView可以像联系人那里那样查询吗?
- xml的规范问题
// 设置画面布局
ll = new LinearLayout(this.getBaseContext());
ll.setOrientation(LinearLayout.VERTICAL);
2.声明一个ScrollView,把ScrollView添加到ll中
3.声明一个你自己的MyView,把MyView添加到ScrollView中ScrollView中只能有一个直接元素,如果有多个MyView, 就先放在一个layout中,再把layout放在ScrollView中
代码:
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>麻烦你帮我看下,谢谢了