protected void paint(Graphics g) {
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比長子網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式長子網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋長子地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
// TODO Auto-generated method stub
g.setColor(255,0,0);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(0,0, 255);
g.fillArc(x,y,d,d,0,360);
this.repaint();
}//畫一個(gè)圓當(dāng)做屏保圖案坐標(biāo)是x,y 大小是d
public void run() {
// TODO Auto-generated method stub
while(true){
if(x=0){
dir=ran.nextInt(8);
while(dir==0||dir==3||dir==5)
dir=ran.nextInt(8);
}else if(y=0){
dir=ran.nextInt(8);
while(dir==0||dir==1||dir==2)
dir=ran.nextInt(8);
}else if(x=w){
dir=ran.nextInt(8);
while(dir==2||dir==4||dir==7)
dir=ran.nextInt(8);
}else if(y=h){
dir=ran.nextInt(8);
while(dir==5||dir==6||dir==7)
dir=ran.nextInt(8);
}
switch(dir)
{
case 0: y-=5;x-=5; break;
case 1: y-=5; break;
case 2: y-=5;x+=5; break;
case 3: x-=5; break;
case 4: x+=5; break;
case 5: y+=5;x-=5; break;
case 6: y+=5; break;
case 7: y+=5;x+=5; break;
}
try {
Thread.currentThread().sleep(30);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.repaint();
}
//這個(gè)撞到墻壁小球就會隨機(jī)變換方向 達(dá)到屏保的效果
給你個(gè)思路啊 自己填完整了他
說明屏幕保護(hù)是自動切換的??梢哉{(diào)整下: 第一步:在桌面空白位置右擊,選擇“個(gè)性化”。 第二步:在個(gè)性化頁面,選擇“桌面背景”。 第三步:之后在“背景設(shè)置”頁面中,勾選上想設(shè)置背景的圖片(一張的話,不需要設(shè)置切換時(shí)間,多張的話,設(shè)置下切換...
1、注冊一個(gè)BroadcastReceiver,用于接收ACTION_SCREEN_OFF事件。當(dāng)接收到這個(gè)事件時(shí),打開自定義的屏保畫面。以下代碼為了測試方便,放在MainActivity.java中,也可以根據(jù)需要,把代碼放入service中。
registerReceiver(mMasterResetReciever,newIntentFilter(Intent.ACTION_SCREEN_OFF)); BroadcastReceiver mMasterResetReciever=newBroadcastReceiver() { publicvoidonReceive(Context context, Intent intent){ try{ Intent i =newIntent(); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setClass(context, ScreenSaverActivity.class); context.startActivity(i); }catch(Exception e){ Log.i("Output:", e.toString()); } } };
2、完成這一步時(shí),雖然屏幕關(guān)閉時(shí),屏保畫面被顯示,但由于接收的是ACTION_SCREEN_OFF事件,所以屏幕已經(jīng)變黑了,這個(gè)時(shí)候就需要強(qiáng)制點(diǎn)亮屏幕。
首先,在AndroidManifest.xml中加上permission 權(quán)限:
uses-permissionandroid:name="android.permission.WAKE_LOCK"/
以下代碼在ScreenSaverActivity.onCreate中
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE); mWakeLock = pm.newWakeLock( PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"SimpleTimer");
然后在屏保畫面顯示時(shí),點(diǎn)亮屏幕。在ScreenSaverActivity.onResume中加入
mWakeLock.acquire();
為了能夠在退出屏保時(shí),能夠讓屏幕可以關(guān)閉,我們必須釋放WakeLock.故在ScreenSaverActivity.onPause中加入
mWakeLock.acquire();
注意,必須放在onResume中,如放在別的地方。會導(dǎo)致程序無法再次進(jìn)入屏保,具體原因不詳。由于手頭只有一個(gè)手機(jī),不能進(jìn)行廣泛的測試。
3. 完成第二步后,一般情況下大功告成。按鍵就可以返回程序。但有時(shí)候需要點(diǎn)擊屏幕就返回系統(tǒng)。這個(gè)時(shí)候會發(fā)現(xiàn),無論怎么樣點(diǎn)擊屏幕,系統(tǒng)都不會有響應(yīng),因?yàn)榇藭r(shí)屏幕已經(jīng)被鎖定。因此,要實(shí)現(xiàn)這個(gè)功能,在打開屏保時(shí),需要關(guān)鍵屏幕的鎖定功能。
首先,在AndroidManifest.xml中加上permission 權(quán)限:
uses-permissionandroid:name="android.permission.DISABLE_KEYGUARD"/
再次,把以下這段代碼加入合適的地方。只要啟動屏保時(shí)能夠被調(diào)用到
KeyguardManager mKeyguardManager= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock mKeyguardLock= mKeyguardManager.newKeyguardLock(TAG); mKeyguardLock.disableKeyguard();
當(dāng)然也可以通過以下代碼開啟屏幕鎖定功能。