我有一个带有四个检查按钮的RadioGroup。我想创建一个“幻灯片”过渡动画,这样如果用户在最顶层当前选中时点击最底部的radiobuttom,我的自定义复选框图形将从顶部位置滑动到底部。有任何想法吗?我希望这可以在Android 2.0及更高版本上运行。
答案 0 :(得分:0)
如果我想象的和你一样(我可能不会),你将需要2个动画。一个用于向下扫描禁用的按钮,另一个用于将所选按钮向上移动到顶部。
您将使用TranslateAnimation。您可以找到有关view Animations here
的更多信息您需要在xml或java中定义TranslateAnimations,然后您可以调用radioBtn.startAnimation(myAnim);
传递您创建的动画对象或从xml中膨胀。
编辑:不幸的是,我认为它最终将成为一个相当复杂的过程,使其以这种方式工作。我可以想出两种方法来实现这种效果。但两者都不是特别直截了当。
让自己成为一个包含CHECKED_ON图形的ImageView。将其位置设置在当前所选内容的顶部。选择新内容时,使用TranslateAnimation将ImageView移动到新选择项目的位置。如果您要使用此路线,我认为您必须更改CheckBox图形以在两种状态(开启和关闭)中使用CHECKED OFF图像,否则只要您点击一个新的,它将更改为ON,即使图形将处于飞向新选择的图形的过程中。
另一个可能的解决方案是制作垂直搜索栏对象并连接标签名称,以便在触摸时将搜索栏设置到正确的位置。要获得动画效果,您可以使用for循环,只需一点一点地增加/减少搜索栏位置,直到您到达目的地。逻辑可以与复选框一样工作,只要搜索栏位置与它们一致,它们就会被视为CHECKED_ON,否则它们将被视为关闭。实际上,这种方法实际上可能比使用Animations实现它更简单。
虽然我只是简单地思考它,但我可能会倾向于第二种选择。我过去使用过TranslateAnimations来模拟拖动和放大删除我为游戏制作的一些自定义视图的操作。这是我与该游戏相关的最困难的事情之一。