我知道,我可以启动Settings-Activity
Intent intent = new Intent(Settings.ACTION_DISPLAY_SETTINGS);
startActivityForResult(intent,1);
Run Code Online (Sandbox Code Playgroud)
但是我怎么知道动画是否首先启用了?
如果在设置中启用了动画,我在自定义视图中有一个动画,只想显示它.如果他们被禁用,我想让用户在他第一次启动应用程序时启用它们.
我有两个apk上传到市场.第一个用于小屏幕和普通屏幕,第二个用于大屏幕和xlarge屏幕.
如果我将小版本上传到市场,它会说:"支持的屏幕:小-xlarge"这很有趣,因为我的清单说:
<supports-screens
android:xlargeScreens="false"
android:largeScreens="false"
android:normalScreens="true"
android:smallScreens="true">
</supports-screens>
Run Code Online (Sandbox Code Playgroud)
如果我上传更大的版本,我会得到我所期望的:"支持的屏幕:large-xlarge"
<supports-screens
android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="false"
android:smallScreens="false" >
</supports-screens>
Run Code Online (Sandbox Code Playgroud)
(minSdkVersion ="8"targetSdkVersion ="9")
我究竟做错了什么?
罗兰
编辑:感谢Ghost回答的文件,我编辑了清单如下:
小版本(versionCode ="1001")
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true">
</supports-screens>
Run Code Online (Sandbox Code Playgroud)
大版本(versionCode ="2001"):
<supports-screens
android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true">
</supports-screens>
Run Code Online (Sandbox Code Playgroud)
这有点尴尬,imho.小版本必须假装也支持大和xlarge,虽然它没有.否则市场不会让我激活它.
关键是要为大版本提供更高版本的代码.将首先找到具有更高版本Code的apk,如果它适合,市场将提供它.如果没有,它将进入具有较低版本代码的apks并查看它们是否合适.
我在我的应用程序中使用UINavigationController.当使用VoiceOver时,当按下新的ViewController时,backButton具有焦点.
如果视图出现,我宁愿让titleView的accessibilityLabel聚焦,以便首先读取它的accessibilityLabel.
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem);当我第一次创建并推送视图控制器时,使用titleView似乎是重点.但是当我从另一个视图控制器(推到第一个视图控制器)回来时,焦点再次出现在后退按钮上.
我正在以下列方式创建一个NSMutable数组:
-(NSArray*)createArrayFromString:(NSString*)str
{
NSArray *arr = [str componentsSeparatedByString:@" "];
NSMutableArray *result = [NSMutableArray arrayWithCapacity:[arr count]];
for(NSString *s in arr){
if([s length]>0){
[result addObject:[s retain]];
}
}
return (NSArray*) result;
}
Run Code Online (Sandbox Code Playgroud)
这是调用方法,它将接收到的数组元素放入Chapter对象的属性resRefs中:
-(Chapter*)createChapter:(CXMLNode*)node
{
Chapter *chapter = [[Chapter alloc] init];
chapter._id = [[(CXMLElement*)node attributeForName:@"id"] stringValue];
chapter.title = [[(CXMLElement*)node attributeForName:@"title"] stringValue];
chapter.text = [node stringValue];
[chapter.pids addObjectsFromArray:[self createArrayFromString:[[(CXMLElement*)node attributeForName:@"pids"]stringValue]]];
[chapter.resRefs addObjectsFromArray:[self createArrayFromString:[[(CXMLElement*)node attributeForName:@"resRefs"]stringValue]]];
return chapter;
}
Run Code Online (Sandbox Code Playgroud)
这是问题:
没有保留电话
[result addObject:[s retain]];
Run Code Online (Sandbox Code Playgroud)
我无法从我的ViewController访问NSString元素(EXC_BAD_ACCESS)
我正确使用保留在这里吗?
编辑:
变
[[result addObject:s] retain];
Run Code Online (Sandbox Code Playgroud)
成
[result addObject:[s retain]]; …Run Code Online (Sandbox Code Playgroud)