日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

定制个性化屏保

發(fā)布時(shí)間:2024/3/24 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 定制个性化屏保 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

定制個(gè)性化屏保

每次我們鎖鍵盤的時(shí)候,都看到如下頁面:

?????? 看多了就產(chǎn)生審美疲勞, 手機(jī)是追求個(gè)性化的消費(fèi)品,想到就是替換她,再找一個(gè)。

?????? 如何替換呢?Android 提供如下函數(shù):

KeyguardManager mKeyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);

??? KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock("");

??? mKeyguardLock.disableKeyguard();

??? 拿到鍵盤守護(hù)鎖,屏蔽她既可。接下來就是在合適的時(shí)機(jī)替代她, 這個(gè)合適的時(shí)機(jī)就是接收Intent.ACTION_SCREEN_OFF.

?? IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);

registerReceiver(mReceiver, filter);

? ?這里有點(diǎn)奇怪的是,如果通過android.manifest 配置receiver的話,就得不到Action_screen_off 事件,我現(xiàn)在還納悶了……

?

?? 最后就是再找一個(gè)她(個(gè)性化屏保), 我目前在模仿Hero屏保,所以就以她來說了。

首先用一個(gè)服務(wù)啟動(dòng)一個(gè)Activity.

如下:

?????? ??? Intent it = new Intent();

?????? it.setClass(this, ScreenShow.class);

?????? it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

?????? this.startActivity(it);

還要設(shè)置該Activity為單態(tài),并且為透明, 屬性如下:

android:launchMode="singleTask" android:theme="@style/Theme.nd_Dialog" 其中透明ActivityStyle設(shè)置為

?

<style name="Theme.nd_Dialog" parent="android:style/Theme.Translucent">

?????? <item name="android:windowNoTitle">true</item>

</style>

?

我們體驗(yàn)過Hero屏保界面,就會(huì)發(fā)現(xiàn),屏保的移動(dòng)與手勢(shì)的用力大小相關(guān)。用力重的時(shí)候,屏保界面自動(dòng)往下滑。

VelocityTracker mVelocityTracker;

if (mVelocityTracker == null) {

?????????? mVelocityTracker = VelocityTracker.obtain();

}

?

mVelocityTracker.addMovement(event);

mVelocityTracker.computeCurrentVelocity(1000);

float yVel = mVelocityTracker.getYVelocity();

其中屏保自動(dòng)往下滑的動(dòng)作不是用Animation來做的,而是通過Handler, 隔一段時(shí)間發(fā)送一個(gè)消息達(dá)到動(dòng)畫的效果:

mHandler.sendMessageAtTime(mHandler.obtainMessage(MSG_ANIMATE),

???????????? mCurAnimationTime);

比起Animation, 通過Handle可以達(dá)到自如地控制動(dòng)畫.

?

最后,講講屏保內(nèi)容用到Receiver

// 時(shí)間Receiver

intentFilter.addAction(Intent.ACTION_TIME_CHANGED);

??? intentFilter.addAction(Intent.ACTION_TIME_TICK);

??? intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);

?

??? // 配置變化, 關(guān)閉系統(tǒng),

??? intentFilter.addAction(Intent.ACTION_CONFIGURATION_CHANGED);

??? intentFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);

?????? ?

//網(wǎng)絡(luò)名稱Receiver(比如中國移動(dòng)等)? intentFilter.addAction(Telephony.Intents.SPN_STRINGS_UPDATED_ACTION);

?

??? // 電量改變Receiver

??? intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);

?

// Sim狀態(tài)Receiver intentFilter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED;

?

……? 慕然回首,那人卻在燈火闌珊處……

總結(jié)

以上是生活随笔為你收集整理的定制个性化屏保的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。