我必须为圆形倒计时器设置动画,我是通过使用AnimationDrawable为ImageView的背景设置动画来实现的(每个图像都删除了圆圈的相应切片).问题是用户能够暂停此动画,因此我必须重新加载动画,但随后会出现问题.我已经尝试将动画设置为null,将ImageView的背景设置为null,设置动画的可见性,但几乎没有任何帮助,因为帧数保持不变.我必须找到一个解决方法,删除所有帧并添加新的帧或将整个动画重置为默认状态.
第1步 - 初始化动画(起始帧索引为0)
timerView.setBackgroundResource(R.drawable.timer_switch);
timerAnimation = (AnimationDrawable)timerView.getBackground();
System.out.println("Number of frames: " + timerAnimation.getNumberOfFrames());
for (int frameIndex = startingFrameIndex; frameIndex < 60; frameIndex++) {
if (frameIndex < 10) {
uri = "drawable/timer_0000" + frameIndex;
} else {
uri = "drawable/timer_000" + frameIndex;
}
imageResourceId = getResources().getIdentifier(uri, null, getPackageName());
timerAnimation.addFrame(getResources().getDrawable(imageResourceId), timerImageFrameDuration);
}
Run Code Online (Sandbox Code Playgroud)
第2步 - 这是我不知道该怎么做的棘手部分.我试过的事情:
timerAnimation.stop();
timerAnimation.setCallback(null);
timerAnimation.setVisibility(true, false);
timerAnimation = null;
Run Code Online (Sandbox Code Playgroud)
步骤3 - 在调用步骤2之后,我再次调用步骤1,但Sys.out仍然显示60作为当前帧数.(点击暂停按钮时,此处的起始索引设置为最后隐藏的帧.)
欢迎任何想法.
谢谢
关于使用ActionBarSherlock的应用程序,我有一个小问题.一切正常,除了Samsung phones with TouchWizz.按硬件菜单键可显示溢出菜单项.
我知道如何更改面板背景.我的默认主题扩展了Theme.Sherlock.Light.DarkActionBar,因此硬件面板中的默认菜单项文本颜色将是black,我不想改变它.
除了更改默认主题的父级之外,有关如何执行此操作的任何想法?
<style name="Theme.MyApp" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:panelBackground">@drawable/menu_hardkey_panel</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我还将SDK工具更新为R22和ADT插件.在更新之前一切运作良好但从那时起,我遇到了问题.
基本上我有2个图书馆项目和一个应用项目.我的一个库项目在"libs"文件夹中包含一些jar文件.其中一个罐子在app项目中用于初始设置.在更新之前,一切正常,但现在它要求我将jar添加到构建路径,即使我这样做,在运行应用程序时它仍然给我ClassNotFoundException.
有没有人有过类似的经历,或者对于导致这种情况的原因有什么想法以及如何解决?
谢谢.
我已经尝试过几个帖子,但没有运气.问题是,我面临的可能是白色时区.设备和模拟器UIDatePicker和NSDateFormatter都返回错误的日期,从所选日期(根据设备或mac上设置的当前时区)添加或减去GMT 0的差异.
我已经尝试过设置区域设置和时区但没有任何效果.任何想法都很棒!谢谢.
(尚未发布任何代码示例,因为两者都已初始化而未立即设置任何属性.)
更新1:
这是代码片段:
datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0.0, frame.size.height - 216.0, frame.size.width, 216.0)];
[self addSubview:datePicker];
....
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE, MMM d, y h:mma"];
NSString *dateString = [formatter stringFromDate:datePicker.date];
[formatter release];
Run Code Online (Sandbox Code Playgroud) android ×3
animation ×1
drawable ×1
frame ×1
ios4 ×1
iphone ×1
menuitem ×1
objective-c ×1
styles ×1
uidatepicker ×1