2017-10-17 86 views
0

我有一个任务在Android应用程序中显示N * N矩阵。显示矩阵

号码在该基体应在特定的顺序,这样的: matrix example image

主要问题是,我应该与一些延迟显示与动画矩阵中的每个单元(矩阵不应该在第一可见然后细胞逐个出现)。

我该如何达到这种效果?我应该使用带有自定义适配器的GridView,还是应该通过扩展“View”类来创建自己的视图?提前致谢。

回答

1

我不确定你的矩阵有多大,但我建议你使用RecyclerViewGridLayoutManager来实现这一点,特别是如果你的网格矩阵可能有不定数量的元素。

在一个简单的概述,你可以在你的布局制作一个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这个RecyclerView将每个单元(放置你会也可以根据需要使用布局定义并在RecyclerViewonBind方法中对其进行定义)。

我建议你看到这个Stack Overflow post,这很好地解释了如何实现这一点。

对于动画,您可以通过您要定义的RecyclerView.Adapter访问每个单元的View(请参阅上述文章)。你可能会想要开始每个单元格visibility设置为goneinvisible然后显示它们,但是你想。

如果你知道你的网格尺寸是固定的并且比较小,你仍然可以使用一个GridLayout,它可以让你省去RecyclerView的所有适配器代码。

如果您仍然无法理解,请告诉我,希望这有助于您!