<分区>
如何在 android L 中创建项目列表,如最近应用列表:
<分区>
如何在 android L 中创建项目列表,如最近应用列表:
最佳答案
这很简单:
实现布局。这部分是最难的。项目在屏幕上的位置是滚动+布局位置的非线性函数。基本上,您希望容器顶部的项目有一个接近于零的位置,而 container.getHeight()-item.getHeight() 作为底部项目的位置。然后你必须找到一个适合你的功能。对我来说是这样的:
private void layoutChildren() {
int width = getWidth() - getPaddingLeft() - getPaddingRight();
int height = getHeight() - getPaddingTop() - getPaddingBottom();
for (int i = 0; i < getChildCount(); i++) {
float topSpace = height - width;
int y = (int) (topSpace * Math.pow(2, (i * width - scroll) / (float) width));
float scale = (float) (-Math.pow(2, -y / topSpace / 10.0f) + 19.0f / 10);
ViewHelper.setTranslationX(getChildAt(i), getPaddingLeft());
ViewHelper.setTranslationY(getChildAt(i), y + getPaddingTop());
ViewHelper.setScaleX(getChildAt(i), scale);
ViewHelper.setScaleY(getChildAt(i), scale);
}
}
有关更多详细信息和实现,您可以查看我的项目:
https://github.com/ZieIony/MaterialRecents
或者,如果您希望看到实际效果,它是 Carbon 库的一部分。您可以在小部件部分找到带有 RecentsList 的示例应用程序:
关于android - 如何在 Android L 中创建类似 "Recent apps list"的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30072678/
相关文章:
android - 将 Google Play 游戏服务添加到现有应用
Android Fragment 不尊重 match_parent 作为高度
android - 如何在 styles.xml 中设置所有 Activity 的背景
java - 使用 AWT 关闭一个框架(不是整个应用程序)
iPhone – 导入/绘制 UI 图形元素的最佳方法? CGContextDrawPDFPage?
java - OpenCV Android,绘制最大轮廓,出现问题
android - 如何动态添加多个TextView到main.xml中定义的LinearLayout
javascript - Sencha allowedBlank 配置属性不适用于 TextField 小部件