-
這是原來的Adapter。我們現(xiàn)在要進(jìn)行改造,因為原來的Adapter只能夠放一個list。查看全部
-
當(dāng)三個Model里面放的字段各不相同的情況下該怎么辦呢? ***創(chuàng)建好三個不相同的新的Model之后,然后在MainActivity中創(chuàng)建三個List。 并分別給它們添加相應(yīng)的數(shù)據(jù)。查看全部
-
!?。∪?查看全部
-
?。。《?查看全部
-
?。。∫?查看全部
-
效果圖!查看全部
-
***注意:可以利用RecyclerView的實例方法addItemOffsets()來設(shè)置item之間的間隔. 首先要獲得GridLayoutManager的LayoutParms的對象,因為通過LayoutParms可以拿到 RecyclerView當(dāng)中當(dāng)前位置的SpanSize值,為什么要拿到這個值?因為我們通過這個可以得知當(dāng)前的SpanSize是1還是2,1表示當(dāng)前那一行是有左右的,即是有兩個item存在的,然后做間隔的處理。 ***spanIndex指的是:比如一行有兩個item的時候,spanIndex等于0表示左邊,1表示右邊的。從0開始算。 ***outRect.top的值表示距頂部的距離,outRect.left的值表示與左邊Item的距離 ***spanSize != gridLayoutManager.getSpanCount()表示當(dāng)前那一行是有左右之分的。查看全部
-
!??!查看全部
-
***在每個item布局相對應(yīng)的ViewHolder中,可以利用setBackgroundColor()方法為其item 設(shè)置背景顏色。查看全部
-
***然后可以在setSpanSizeLookup()方法里面寫上相應(yīng)的處理,首先要拿到每個item的type,所以通過RecyclerView的對象調(diào)用其實例方法得到其Adapter的對象,然后調(diào)用Adapter的實例方法getItemViewType()并傳入對應(yīng)的位置參數(shù)position即可得到。 ***接下來根據(jù)type去指定item的橫跨值。 ***注意:調(diào)用GridLayoutManager的實例方法getSpanCount()得到的值就是當(dāng)時創(chuàng)建該對象時傳入的第二個參數(shù)的值,這里即2.查看全部
-
***對于之前說的要將一行兩個item的形式變成一行一個item的形式的這樣的跨度問題,這里要利用到GridLayoutManager的一個實例方法: setSpanSizeLookup(),它的返回值指的是:返回當(dāng)前的item的橫跨度是多少。比如說之前創(chuàng)建GirdLayoutManager的對象的時候傳進(jìn)去的第二個參數(shù)的值是2,那么在setSpanSizeLookup()方法中返回的值是1的話,則表示該item占二分之一,即占了一半,如果返回的值是2的話就表示當(dāng)前這個item占據(jù)了整一行??梢岳斫獬赡堑诙€參數(shù)的值是分母,方法中返回的值是分子。查看全部
-
效果圖。。查看全部
-
***現(xiàn)在對數(shù)據(jù)做一下分組,讓前5個和16到19的type為1。查看全部
-
效果圖。。注意:這里第一行中的第二列的右邊應(yīng)該還有個內(nèi)容的,由于空間不夠,所以壓到第二行被覆蓋了。查看全部
-
***首先給RecyclerView設(shè)置它的grid樣式,那么就要使用到GridLayoutManager, 這里使用的GridLayoutManager的構(gòu)造函數(shù)有兩個參數(shù),第一個參數(shù)是Context對象,第二個參數(shù)是個int值,這個int值的作用就是指定一行中有幾列。然后把GridLayoutManager的對象傳給setLayoutManager()方法中。查看全部
舉報
0/150
提交
取消