小编pau*_*ode的帖子

如何在Android中创建可滚动的旋转页面?

我正在尝试为我的Android应用程序构建一个UI,其中包含一个可垂直滚动的可水平滚动轮播页面(类似于Netflix应用程序的功能).这种行为是如何完成的?

一个基本的实现就足以让我开始.UI还有一些其他要求,我将在此处作为参考,因为它可能会影响我可以使用的类或库.

1)旋转木马之间的垂直滚动应该是平滑的,但是当用户释放时,UI应该"捕捉"最近的旋转木马(因此用户总是在旋转木马行上,而不是在两个旋转木马之间).

2)旋转木马上的水平滚动应该是平滑的,但是当用户释放时,UI应该"捕捉"旋转木马中最近的项目.

3)应该可以在转盘中的项目上叠加附加信息

4)UI应适应任何屏幕尺寸.

5)应使用箭头键导航(适用于无触摸屏的设备)

6)应该适用于各种Android版本(可能通过支持库)

7)应该可以在根据GPL许可的开源应用程序中使用

可接受的答案不必满足所有这些要求.至少,一个好的答案应该涉及导航多个轮播(而不是只有一个轮播).

这是一个基本上我想象的模型(我很灵活,不必看起来像这样......只是为了澄清我在谈论的内容 - 每一行都包含很多可能的项目向左和向右滚动,整个页面可以上下滚动)

在此输入图像描述

android carousel android-layout

35
推荐指数
2
解决办法
1万
查看次数

在Android中生成强度不等的振动模式的算法?

我试图以编程方式生成Android振动模式,打开和关闭"微脉冲",以控制振动对最终用户的强度.这是我在一些类似主题中推荐的解决方案,即API没有提供控制振动强度的接口的问题(因为硬件的功能如我所知).

然而,用于生成这些模式的算法似乎只是暗示,但没有发布实际的算法.

我想要做的是,如果输入强度介于0.0f和1.0f之间,则会生成一个类似于以下模式的数组:

(zero intensity)
[20,0]

[9,1,9,1]
...

[3,1,3,1,3,1,3,1,3,1]

[2,1,2,1,2,1,2,1,2,1,2,1,2]

(half intensity)
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]

[1,2,1,2,1,2,1,2,1,2,1,2,1,1]

[1,3,1,3,1,3,1,3,1,3]
...

[1,9,1,9]

(full intensity)
[0,20]
Run Code Online (Sandbox Code Playgroud)

编写这样的算法的任何帮助(或建议更好的策略来实现相同的目标)?

编辑:我已经添加了100个声望的赏金:)

java algorithm android android-vibration

10
推荐指数
2
解决办法
4409
查看次数

如何将NativeActivity的内容视图设置为在Java中创建的组件

有没有办法将NativeActivity的内容设置为用Java创建的组件(例如FrameLayout,ImageView等)?我需要使用NativeActivity(用于在Xperia Play上获取触摸板输入),但我还需要能够查看在Java代码中创建的组件.

我已经尝试重写onCreate命令并在那里调用setContentView,但是虽然这不会引发任何错误,但它也没有做任何事情(显然是因为内容视图已经由本机代码设置).是否存在某种窗口ID或者我可以传递给本机代码以告诉它内容视图应该是什么,或者可以在XML中以某种方式设置它以将NativeActivity的内容视图设置为我可以修改的组件来自Java?

如果您需要更多信息,请与我们联系.

android android-ndk native-activity

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

为什么在使用android-support-v4时找不到android.util.LruCache.*?

我正在编写一个使用LruCache的项目,它包含在android-support-v4.jar compat库中.在使用JB的设备上运行时,代码运行正常,但是当我在带有GB的Droid X上运行它时,应用程序会因以下错误而死机:

I/dalvikvm(2459): Could not find method android.util.LruCache.put, referenced from method blah.blah.Utility.getBitmap
W/dalvikvm(2459): VFY: unable to resolve virtual method 2641: Landroid/util/LruCache;.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
D/dalvikvm(2459): VFY: replacing opcode 0x6e at 0x0026
... [repeats similar lines] ...
W/dalvikvm(2459): Unable to resolve superclass of Lblah/blah/Utility$1; (353)
W/dalvikvm(2459): Link of class 'Lblah/blah/Utility$1;' failed
E/dalvikvm(2459): Could not find class 'blah.blah.Utility$1', referenced from method blah.blah.Utility.initCaches
W/dalvikvm(2459): VFY: unable to resolve new-instance 559 (Lblah/blah/Utility$1;) in Lblah/blah/Utility;
D/dalvikvm(2459): VFY: replacing opcode 0x22 at 0x000d
D/dalvikvm(2459): VFY: dead code …
Run Code Online (Sandbox Code Playgroud)

android android-2.3-gingerbread android-lru-cache android-support-library

5
推荐指数
1
解决办法
5833
查看次数