我有一项任务是在Android应用中显示N * N矩阵。
此矩阵中的数字应按特定顺序排列,如下所示: matrix example image
主要的麻烦是我应该用动画显示矩阵的每个单元格有一些延迟(矩阵最初不应该是可见的,然后逐个单元格出现。)
我怎样才能达到这种效果?我应该将GridView与自定义适配器一起使用,还是应该通过扩展" View"来创建自己的视图。类?提前谢谢。
答案 0 :(得分:2)
我不确定您的矩阵会有多大,但我建议您使用带有RecyclerView
的{{1}}来实现此功能,尤其是如果您的网格矩阵可能包含可变数量的元素。 / p>
在简化的概述中,您可以通过在布局中创建GridLayoutManager
来实现此目的:
RecyclerView
然后在<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
中,将Activity
应用于此GridLayoutManager
,这将放置每个单元格(您还需要使用布局定义并在{ <1}} RecyclerView
方法),如您所愿,在网格布局中。
我建议您看到这个Stack Overflow post,它解释了如何实现这一目标。
对于动画,您可以通过您将定义的RecyclerView
访问每个单元格onBind
(请参阅上述帖子)。您可能希望在View
设置为RecyclerView.Adapter
或visibility
的情况下启动每个单元格,然后根据您的需要显示它们。
如果你知道你的网格大小是固定的并且相对较小,你仍然可以使用gone
,这将为你免除invisible
的所有适配器代码。
如果您仍然无法理解,请告诉我,希望这会有所帮助!