- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的一个应用程序中的 Gallery
小部件遇到了一个相当奇怪的问题,我想是时候问问其他人了,因为它已经困扰我很长时间了.
我正在为 Gallery
小部件使用自定义 Adapter
,并且我在此为 Gallery
中的每个项目扩展自定义布局适配器
。您可以在下面看到 Adapter
和布局的代码。 Gallery
小部件目前不重复使用 Views
,因此我没有使用任何 ViewHolder
技巧等。
问题
问题是,当它在平板电脑屏幕上运行时,我在 Gallery
小部件中遇到“跳跃”,但它在手机上运行得很好。我对这两种类型的设备使用了不同的布局,我知道它们的使用是正确的 - 我已经对此进行了非常彻底的测试。
我尝试过的
Gallery
项目布局宽度/高度 - 没有变化。但如果我设置背景颜色,它就会出现。Gallery
间距,但这会使 Gallery
项目相互重叠适配器
正常工作并且正在加载正确的布局适配器
设置问题的视频示例
这两个设备使用完全相同的应用程序包和相同的代码库,唯一的区别是布局,如下所示。
不工作 - 在平板电脑上(Acer Iconia A500 - 10 英寸,1280 x 800,mdpi):http://www.youtube.com/watch?v=vN2d61_Ojsc
正在工作 - 在手机上(三星 Galaxy Nexus - 4.7 英寸,720 x 1280,xhdpi):http://www.youtube.com/watch?v=j8s-JfwWofo
代码 - 图库适配器
public class ImageAdapter extends BaseAdapter {
LayoutInflater inflater;
public ImageAdapter() {
inflater = (LayoutInflater) Main.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return coverFileNames.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
convertView = (ImageView) inflater.inflate(R.layout.main_large_img, null);
((ImageView) convertView).setImageBitmap(coverFileNames.get(position));
return convertView;
}
}
代码 - 主要布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alwaysDrawnWithCache="true"
android:animationCache="true"
android:orientation="vertical" >
<TextView
android:id="@+id/txtMainTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="0sp"
android:paddingLeft="30sp"
android:paddingTop="20sp"
android:shadowColor="#000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="1.0"
android:text="@string/mainMyMoviesTitle"
android:textAppearance="?android:attr/textAppearanceLarge" >
</TextView>
<TextView
android:id="@+id/txtNumberofMovies"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="30sp"
android:shadowColor="#000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="1.0"
android:text="@string/mainNumberofMovies"
android:textAppearance="?android:attr/textAppearanceSmall" >
</TextView>
<Gallery
android:id="@+id/gallery1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:spacing="20dp"
android:unselectedAlpha="1.0" >
</Gallery>
</LinearLayout>
代码 - 图库项目布局(平板电脑、layout-xlarge-land-mdpi
)
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLargeImg"
android:layout_width="374dp"
android:layout_height="600dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:maxHeight="600dp"
android:maxWidth="374dp"
android:minHeight="600dp"
android:minWidth="374dp"
android:scaleType="fitXY"
android:src="@drawable/noposterxl" />
代码 - 图库项目布局(手机,layout-normal-port-xhdpi
)
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLargeImg"
android:layout_width="188dp"
android:layout_height="300dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:maxHeight="300dp"
android:maxWidth="188dp"
android:src="@drawable/noposterxl" />
附言。有问题的应用程序是 Mizuu - 市场上有一个免费版本,您可以尝试自己查看问题。当您滑动水平 ScrollView 并且即将显示下一张图像时,就会发生这种情况。免费版本目前仅限平板电脑。
最佳答案
发现这听起来像您的问题:
http://www.unwesen.de/2011/04/17/android-jittery-scrolling-gallery/
修复方法是覆盖这两个方法。我不太确定这是正确的方法:
private long mLastScrollEvent;
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b)
{
long now = SystemClock.uptimeMillis();
if (Math.abs(now - mLastScrollEvent) > 250) {
super.onLayout(changed, l, t, r, b);
}
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY)
{
mLastScrollEvent = SystemClock.uptimeMillis();
return super.onScroll(e1, e2, distanceX, distanceY);
}
它有一个 hacky 修复程序,假设您可以试一试。
还有一个提交的错误报告:
关于Android Gallery widget "jitter"/"jumping"/行为怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947250/
我有一个导航栏,当您将鼠标悬停在导航按钮上时,我想给它一个橙色的底部边框。唯一的问题是,无论何时悬停,边框都会使内容/导航按钮“抖动”,这是它们不应该的。此外,我已经在导航栏上始终设置了黑色底部边框,
根据documentation ,jitter 函数的解释是“向数值向量添加少量噪声。” 这是什么意思? 是否有一个随机数与向量中的每个数字相关联并添加到其中? 最佳答案 抖动确实意味着只是将随机噪声
假设我有这样的东西: for (int i = 0; i > 1或 x << 1 . Does the jitter actually do so when it is legal? 我不知道。试试吧
我正在使用 Photos 框架和 requestImageForAsset: 花费太多时间,因此它的滚动性能确实很差。 我尝试将 PHImageRequestOptions 选项设置为: let op
我正在开发一个 View Controller 原型(prototype),该原型(prototype)由具有以下要求的 collectionView 组成: 有一张背景图片可见 部分可以像 Acco
我是 Java 的新手,我很好奇 Java 与 C++ 相比如何处理普通任务。因此,我将 2 个 C++ 字符串格式化方法(sprintf 和 ostringstream)与使用 Java 的 Str
我正在为我的VOIP应用程序寻找Java中的自适应 jitter buffer 实现。我为应用程序编写了一个固定的 jitter buffer ,但是由于网络质量差,我遇到了缓冲区不足或缓冲区溢出的问
我要绘制三个组的测量值,每个组有五个观察值。我想绘制所有点,但是每个组中的数值都非常接近。改变 alpha 有帮助,但仍然很难观察到单独的点。 因此我想添加一些水平扩展(在 X 轴上)。点的部分重叠是
我想做的是: a) 让 ggplot 代码每次运行时生成的图都相同 [set.seed 是一种概念吗?] 和 b) 仅对具有相同 y 轴值的标签进行抖动文本标签 - 保留其他文本标签。这似乎是某种基于
我要绘制三个组的测量值,每个组有五个观察值。我想绘制所有点,但是每个组中的数值都非常接近。改变 alpha 有帮助,但仍然很难观察到单独的点。 因此我想添加一些水平扩展(在 X 轴上)。点的部分重叠是
对于 VoIP 语音质量监控应用程序,我需要将传入的 RTP 音频流与引用信号进行比较。对于信号比较本身,我使用预先存在的专用工具。对于其他部分(抓包除外),Gstreamer 库似乎是一个不错的选择
使用 Bootstrap (3.3.6) 折叠,可折叠的 DIV 位于表单输入\标签之间。当 DIV 展开\隐藏时,会出现一种快速\抖动。 问题代码:https://jsfiddle.net/ybto
在我当前的代码库中,复杂的 if 语句通常被委托(delegate)调用所取代。由于代码的结构,在应用程序的过程中将多次调用同一个委托(delegate)。例如, class ExampleClass
我的一个应用程序中的 Gallery 小部件遇到了一个相当奇怪的问题,我想是时候问问其他人了,因为它已经困扰我很长时间了. 我正在为 Gallery 小部件使用自定义 Adapter,并且我在此为 G
我一直在阅读 Eric Lippert的 article关于 C# 编译器的/optimize 命令行选项。文章描述了编译器执行的优化类型。但是,我仍然不清楚此选项是否也会影响 JIT 优化。并非不可
我制作了以下图 block ,带有悬停效果,通过 CSS-transition 增加了 font-size: body { font-family: 'Segoe UI', sans-serif;
如果一个进程被硬件中断(第一级中断处理程序)中断,那么 CPU 调度程序是否意识到这一点(例如,调度程序是否独立于被中断的进程计算硬件中断的执行时间)? 更多详情:我正在尝试解决以下问题:htop 中
如何消除错误 jitter buffer full ? 我使用来自最新快照之一的 ffmpeg。 ffmpeg 版本 N-90078-gf611fef 版权所有 (c) 2000-2018 the F
附上一张照片来解释这个概念,但本质上,我想要一个背景视频或图像,上面有多个 png 像这样分层。 我将如何实现这一目标?我觉得 jit.alphablend 是这个的一个组成部分...... 我也在
我正在更新a package that uses base graphics至 one that uses ggplot2 graphics 。在基本图形版本中,用户可以为 jj 提供一个值,然后该值
我是一名优秀的程序员,十分优秀!