相关疑难解决方法(0)

如何在Android中制作水平ListView?

可能重复:
Android中的水平ListView?

像Android中的许多东西一样,你不会认为这会是一个如此难的问题,但哦,哦,你会错的.而且,与Android中的许多内容一样,API甚至没有提供合理可扩展的起点.如果我要打开自己的ListView,我会被诅咒,当我想要的只是把它拿走并把它转向它.\咆哮

好吧,现在我已经完成了冒烟,让我们谈谈问题本身.我需要的基本上就像是Gallery,但没有中心锁定功能.我真的不需要ListViewlistSelector,但这是一个很好的选择.大多数情况下,我可以用LinearLayout内部的方式做我想做的事情ScrollView,但我需要来自a的子视图ListAdapter,我真的希望有一个视图回收器.我真的不想写任何布局代码.

我偷看了其中一些类的源代码......

图库:如果我覆盖大多数'onXyz'方法,复制所有源代码,但不要调用,看起来我可以使用Gallery scrollIntoSlots().但我敢肯定,如果我这样做,我会遇到一些无法访问的成员字段或其他一些无法预料的后果.

AbsSpinner:由于该mRecycler字段是包私有的,我怀疑我是否能够扩展这个类.

AbsListView:看起来这个类只适用于垂直滚动,所以没有帮助.

AdapterView:我从来没有直接扩展这个类.如果你告诉我它很容易做,并且很容易自己动手RecycleBin,我会非常怀疑,但我会试一试.

我想我可以复制这两个 AbsSpinner并Gallery得到我想要的东西......希望那些类没有使用一些我无法访问的包私有变量.你们都认为这是一个好习惯吗?有没有人有任何教程或第三方解决方案可能会让我朝着正确的方向前进?

更新:
到目前为止我找到的唯一解决方案是自己完成所有工作.自从提出这个问题以来,我已经AdapterView从头开始重写并实现了自己的"Horizo​​ntalListView".真正覆盖Gallery的中心锁定功能的唯一方法是覆盖私有scrollIntoSlots方法,我认为这需要在运行时生成子类.如果你足够大胆地做到这一点,它可以说是最好的解决方案,但我不想依赖可能改变的无证方法.

下面的Swathi EP建议我给出Gallery一个OnTouchListener并覆盖滚动功能.如果你不关心你的列表中有一扔支持,或者如果它是没关系的意见,在一扔动画结束捕捉到中心,那么这会为你工作!然而,最终仍然证明在不移除支撑的情况下移除中心锁定特征是不可能的.而且我问你,什么样的名单不扔?

所以,唉,这对我不起作用.:-(但如果你对这种方法感兴趣,请继续阅读......

我还必须对Swathi的代码添加一些内容以获得我想要的内容.在GestureListener.onTouch,除了委托给手势检测器,我还必须返回true ACTION_UP和ACTION_CANCEL事件.这成功禁用了中心锁定功能,但它也禁用了投掷功能.我能够通过将自己的GestureListener委托给Gallery的onFling方法来重新启用fling .如果您想尝试一下,请进入ApiDemos示例代码并使用以下代码替换Gallery1.java类:

import com.example.android.apis.R;

import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.GestureDetector;
import android.view.MenuItem;
import android.view.MotionEvent; …
Run Code Online (Sandbox Code Playgroud)

android listview gallery

183
推荐指数
2
解决办法
11万
查看次数

水平选择器屏幕,如农场塔,愤怒的小鸟,切绳等?

我想为我的游戏制作一个级别屏幕,类似于"愤怒的小鸟","农场大厦"和"剪切绳索"(您选择世界的部分,或类似于画廊小部件的部分).我想知道攻击它的最简单方法是什么.

如何修改Gallery视图以实现此目的?

android gallery

7
推荐指数
1
解决办法
3687
查看次数

标签 统计

android ×2

gallery ×2

listview ×1