我正在实现一个自定义视图,我使用ViewFlipper显示我的自定义视图,它包含RelativeLayout父视图和两个子视图 - ImageView和ProgressBar。 最初我在ViewFlipper中显示缩略图图像,当显示特定的子视图时,我想要发送全尺寸图像下载以供显示。问题是在ViewFlipper中我需要在开头添加所有子视图(在我的Acticity的onCreate中)。在某些情况下,我的画廊包含> 200张图片,我不想开始下载所有全尺寸图像,因为用户可能根本无法导航到ViewFlipper的所有页面。有没有办法在ViewFlipper中通知特定视图被激活?我在这堂课上几乎看不到它。 问候
答案 0 :(得分:2)
似乎没有回调通知您视图被激活;你需要自己实现这个。这并不难:您需要使用方法 public void onViewFlip(ViewFlipper view,View newView)创建一个自定义侦听器 ViewFlipperListener ,从而创建自定义侦听器 ViewFlipperListener 。
然后覆盖从ViewAnimatior继承的 ShowNext()和 ShowPrevious()方法。在这些方法中,调用它们的超级对应方,然后调用侦听器的onViewFlip回调传递新视图(可以通过 getCurrentView()获得。)
希望这有帮助。