2017-10-17 115 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的所有適配器代碼。

如果您仍然無法理解,請告訴我,希望這有助於您!