bdl*_*dls 9 android image widget gallery
注意:从Jellybean开始,不推荐使用gallery小部件.一个ViewPager应改为使用.
我想以编程方式在Gallery小部件中使用动画在图像之间移动.
我可以使用该setSelection(int position)方法更改当前显示的图像,但这不会生成动画.然后有,setSelection(int position, bool animate)但最后的额外布尔似乎没有做任何事情.
在Gallery的来源中,它似乎可以处理DPAD按键,因此我想到的解决方法是伪造按键.例如.
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT))
Run Code Online (Sandbox Code Playgroud)
但是由于某些原因我不能让这个工作.有人试过吗?
我注意到我喜欢使用的三个小部件方法moveNext(),movePrevious()并且scrollToChild()都是私有且无法使用的.
有谁知道我怎么能这样做?
abu*_*ker 18
只需直接调用图库的按键处理程序:
public boolean onKeyDown(int keyCode, KeyEvent event)
Run Code Online (Sandbox Code Playgroud)
即
Gallery gallery = ((Gallery) findViewById(R.id.gallery));
gallery.onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, new KeyEvent(0, 0));
Run Code Online (Sandbox Code Playgroud)
一个重要的事情 - 这个解决方案只有在左/右的孩子已经创建时才有效,这意味着它必须是"可见的".如果您的全屏图像 - 请考虑将间距设置为-1值.