在android画廊我面临一个问题。在图库中(水平)我显示全屏项目。当我滚动到屏幕的一半时缓慢地水平滚动该项目时,它会自动跳转到看起来很奇怪的下一个项目。我不想自动跳转。我认为这个例子有助于理解问题。如果有人有想法解决问题,请帮助。自定义Android小部件画廊
0
A
回答
0
如果我正确理解你,你不希望小部件自动移动到下一个项目,如果它移动太多。改为尝试HorizontalScrollView。
0
发生这种情况是因为您可能使用onItemSelected()
回调来更新视图。
即使您设置了setCallbackDuringFling(false)
,当滚动缓慢时也会调用回调。
我注意到,在回调中更新按钮中的文本会导致您描述的跳转。 TextViews也是如此,但ImageView似乎没有这个问题。
我的解决方案/黑客是扩展有问题的视图(按钮),并自己绘制文本,绕过造成问题的方法中发生的任何事情。 下面是完整的代码:
public class ValueButton extends Button {
private String text = "";
private Paint textPaint;
private float textX, textY;
public ValueButton(Context context, AttributeSet attrs) {
super(context, attrs);
textPaint = new Paint();
textPaint.setAntiAlias(true);
textPaint.setTextAlign(Align.CENTER);
}
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
textPaint.setTextSize(h/2);
textX = w/2;
textY = getBaseline();
};
public void setTextNoJump(String text) {
this.text = text;
invalidate();
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawText(text, textX, textY, textPaint);
}
}
这段代码的问题是,它忽略了文本格式的XML文件中设置。 如果任何人有一个简单的解决方案,我很乐意听到它。
相关问题
- 1. Android自定义画廊
- 2. Android画廊自定义视图
- 3. Xamarin Android自定义画廊gridview
- 4. Android自定义画廊禁用滚动
- 5. 替代画廊小部件
- 6. Android自定义小部件
- 7. iOS自定义画廊
- 8. 创建自定义画廊
- 9. Android - 自定义画廊,读取SD文件夹
- 10. 自定义小部件中的自定义小部件
- 11. Android中的自定义小部件
- 12. 为Android创建自定义小部件
- 13. Android:自定义SearchView窗口小部件
- 14. 自定义画廊与刷卡
- 15. 自定义背景fadeInOut画廊
- 16. 从画廊隐藏自定义列表
- 17. SonarQube自定义小部件
- 18. PyQt4自定义小部件
- 19. Yii自定义小部件
- 20. 如何添加自定义提供程序到Android画廊
- 21. 如何实现android的自定义设备照片画廊?
- 22. Android自定义画廊或类似的东西
- 23. 类与自定义画廊抛出异常android
- 24. Android中的自定义画廊裁剪窗口
- 25. Android:我如何定义自定义小部件的属性?
- 26. Android自定义xml部件
- 27. 画廊的Android
- 28. Android画廊
- 29. 使用自定义itemView在自定义小部件中放置小部件yii2
- 30. 图片自画廊自动旋转 - Android
我也试过HorizontalScrollView。但是,我也遇到了问题。在每个项目中,我都使用了一个框架布局,其中有2个相对布局。在画廊外面,我有一个“翻转”按钮。当点击翻页按钮时,我翻转该项目的相对布局。但是,在翻转当前项目后滚动到下一个项目时会出现问题。下一个项目显示翻转,但该项目没有翻转。 – gypsicoder 2011-03-10 12:23:29