当前位置: 编程技术>移动开发
本页文章导读:
▪用activity兑现半透明的、淡入的menu 用activity实现半透明的、淡入的menu
在menu上定义style,限制menu的区域把不用的区域隐藏起来。Styles.xml如下:<resources>
<style name="Theme.Translucent" parent="android:style/Theme.Translucent">
.........
▪ 荧屏锁知识点 屏幕锁知识点
1、android2.2锁屏源代码位置:frameworks\policies\base\phone\com\android\internal\policy\impl
2、
从Android 2.2开始,加入了一个新的锁屏API位于android.app.admin.DevicePolicyManager包,DevicePolicyManager类的.........
▪ Objective C 兑现Singleton(单例)模式 Objective C 实现Singleton(单例)模式
Singleton模式经常来做应用程序级别的共享资源控制, 应该说这个模式的使用频率非常高, 现在来看看在Objective-C里面的实现方法.要实现一个Singleton Class, 至少需.........
[1]用activity兑现半透明的、淡入的menu
来源: 互联网 发布时间: 2014-02-18
用activity实现半透明的、淡入的menu
在menu上定义style,限制menu的区域把不用的区域隐藏起来。Styles.xml如下:
在AndroidManifest.xml文件activity元素中一定要加上这样一句:android:theme=“@style/Theme.Translucent”。这句话的意思是使用我们自定义的name为Theme.Translucent风格。
在menu上定义style,限制menu的区域把不用的区域隐藏起来。Styles.xml如下:
<resources> <style name="Theme.Translucent" parent="android:style/Theme.Translucent"> <item name="android:windowBackground">@drawable/translucent_background</item> <item name="android:windowNoTitle">true</item> <item name="android:colorForeground">#fff</item> </style> </resources>
在AndroidManifest.xml文件activity元素中一定要加上这样一句:android:theme=“@style/Theme.Translucent”。这句话的意思是使用我们自定义的name为Theme.Translucent风格。
[2] 荧屏锁知识点
来源: 互联网 发布时间: 2014-02-18
屏幕锁知识点
1、android2.2锁屏源代码位置:
frameworks\policies\base\phone\com\android\internal\policy\impl
2、
从Android 2.2开始,加入了一个新的锁屏API位于android.app.admin.DevicePolicyManager包,DevicePolicyManager类的lockNow方法可以锁住屏幕,查看Android源代码发现其实是从IDevicePolicyManager实现的,整个AIDL接口调用代码为:
private final IDevicePolicyManager mService;
mService = IDevicePolicyManager.Stub.asInterface(
ServiceManager.getService(Context.DEVICE_POLICY_SERVICE));
if (mService != null) {
try {
mService.lockNow();
} catch (RemoteException e) {
Log.w(TAG, "Failed talking with device policy service", e);
}
}
传统的方法加入<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>权限,使用下面代码可以锁住键盘,但屏幕不行
KeyguardManager km = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock kl= km.newKeyguardLock(KEYGUARD_SERVICE);
kl.reenableKeyguard();
<!-- google_ad_section_end -->
传统的方法加入<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>权限,使用下面代码可以锁住键盘,但屏幕不行
3、
<script type="text/javascript"></script><script src="/blog_article/cache/tag/hottags_forum_cache_jsonp.txt" type="text/javascript"></script><script type="text/javascript"></script>
[3] Objective C 兑现Singleton(单例)模式
来源: 互联网 发布时间: 2014-02-18
Objective C 实现Singleton(单例)模式
Singleton模式经常来做应用程序级别的共享资源控制, 应该说这个模式的使用频率非常高, 现在来看看在Objective-C里面的实现方法.
要实现一个Singleton Class, 至少需要做以下四个步骤:
1. 为Singleton Object实现一个静态实例, 初始化, 然后设置成nil.
2. 实现一个实例构造方法(通常命名为 sharedInstance 或者 sharedManager)检查上面声名的静态实例是否为nil, 如果是则新建并返回一个本类实例.
3. 重写 allocWithZone: 方法来保证当其他人直接使用 alloc 和 init 试图获得一个新实例的时候不会产生一个新的实例.
4. 适当的实现 copyWithZone:, release, retain, retainCount 和 autorelease.
下面是一个简单的例子:
static MySingletonClass *sharedSingletonManager = nil; + (MySingletonClass*)sharedManager { @synchronized(self) { if (sharedSingletonManager == nil) { [[self alloc] init]; // assignment not done here } } return sharedSingletonManager; } + (id)allocWithZone:(NSZone *)zone { @synchronized(self) { if (sharedSingletonManager == nil) { sharedSingletonManager = [super allocWithZone:zone]; return sharedSingletonManager; // assignment and return on first allocation } } return nil; //on subsequent allocation attempts return nil } - (id)copyWithZone:(NSZone *)zone { return self; } - (id)retain { return self; } - (unsigned)retainCount { return UINT_MAX; //denotes an object that cannot be released } - (void)release { //do nothing } - (id)autorelease { return self; }
最新技术文章: