gpt4 book ai didi

android - 如何停止滚动画廊?

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:29 24 4
gpt4 key购买 nike

我在 RelativeLayout 中有一个画廊(图像)如果用户点击它,三个 Buttons和一个 TextView出现。我用可见属性做了它,这意味着三个 ButtonsTextView在 xml 文件和后来的 onClick() 中被声明为不可见的 Gallery使用 setVisibility(0) 使其可见.那很好用,但我想要 GalleryButtons 期间停止滚动和 TextView在前面。

有什么办法吗?

最佳答案

如果你想启用/禁用画廊的滚动,你可以使用这样的类:

public class ExtendedGallery extends Gallery {

private boolean stuck = false;

public ExtendedGallery(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

public ExtendedGallery(Context context, AttributeSet attrs) {
super(context, attrs);
}

public ExtendedGallery(Context context) {
super(context);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
return stuck || super.onTouchEvent(event);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
case KeyEvent.KEYCODE_DPAD_RIGHT:
return stuck || super.onKeyDown(keyCode, event);
}
return super.onKeyDown(keyCode, event);
}

public void setScrollingEnabled(boolean enabled) {
stuck = !enabled;
}

}

根据 Gallery 源代码,有两种启动滚动的事件类型:屏幕触摸和在方向键上按下的键。所以如果你想禁用滚动,你可以拦截这些事件。然后在你的布局中使用这样的东西:

<your.package.name.ExtendedGallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

然后您可以随时启用/禁用该画廊的滚动:

ExtendedGallery mGallery = (ExtendedGallery) findViewById(R.id.gallery);
mGallery.setScrollingEnabled(false); // disable scrolling

关于android - 如何停止滚动画廊?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3619197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com