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