【2010/2/27】
1:
android里view显示的位置都是针对layout来说的,不是针对手机屏幕左上角。
2:
view里显示图片是,要对图片进行 处理,将普通图片转变为位图,语法是:
Bitmap bitmap = Bitmap.createBitmap(width, height,
Bitmap.Config.ARGB_8888);
//像管道一样
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, width, height);
drawable.draw(canvas);
3:
围棋主页面中,要想让滚动条左右滑动,就要反复的调用rootMainView 里的onDraw()方法,并且每次调用都要改变
横坐标的值;但是这个调用onDraw方法的任务必须通过RootMainAct(或RootAct)的handler放到主线程的message queue
里,让线程来执行,如果另开一个线程,如在timer.schedule()这个线程里调用rootMainView里的invalidate方法(这个方法
会调用onDraw方法),希望通过这个方式来实现滚动条左右滑动,是不能实现的(结果是滚动条停留在一个位置,原因可能是
主线程已经退出)。
围棋主页面中,要想让文字变化,不能在rootMainAct的onCreate方法里,用Thread技术来实现,因为这样的话,手机屏幕上显示
的是最后的一串文字(这个是因为在屏幕加载前,会先确定textView的值,这里虽然将textview的值改了四次,但只会显示最后一次
的文字值。);
如果开启一个线程,在这个线程里希望改textview的值,则运行程序会报错。
所以只有另开启一个线程,在这个线程里让这个线程通过handler把要改变文字值的这个动作传给主线程,这样就可以了。
【2010/2/27】
1:
package com.gaoge.android.feature;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class Activity1 extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Intent intent = new Intent(this, Activity2.class);
setContentView(R.layout.main);
Log.i("msg", "this is activity1");
this.startActivityForResult(intent, 1001);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Log.i("-------requestCode", "requestCode is: " + requestCode);
}
}
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class Activity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
Log.i("------------activity2", "this is output by activity2");
//
}
}
报错:
activityNotFoundException
结果发现在androidManifest.xml里没有配置activity2
<activity android:name=".Activity2">
</activity>
然后成功,虽然主页面配置的是activity1,然而因为在activity1中调用了activity2,所以第一个显示的是activity2.
上两个是文件的源代码:
如果在文件Activity2里没有this.finish()方法的调用,则log.cat中输出了
Log.i("msg", "this is activity1");
Log.i("------------activity2", "this is output by activity2");
但是没有输出
Log.i("-------requestCode", "requestCode is: " + requestCode);