2017-09-14 57 views
1

在我的應用程序填充recyclerview,我有LinearLayoutManager水平recyclerview。 recyclerview由寬度爲match_parent的Relative佈局包圍。我從API獲取數據並填充回收站視圖。如果API響應返回單個數據項,則需要在recyclerview的中心顯示該項。如果API響應返回兩個項目,則需要爲這兩個項目平分回收站視圖的空間。如果API響應返回兩個以上的項目,則這兩個項目之間應該有相同的差距。請參考下面的截圖:enter image description here與中心項目

我試着用項裝飾和自定義佈局管理器,但沒有用。建議更好的解決方案。

+0

默認保留單個項目,然後在你的代碼檢查你有多少項目獲取和重力一個加textviews。你將能夠達到預期的效果 – sumit

回答

0

您可以將gravity設爲center,將width設爲match_parent。這會使物品粘在中心,而如果有多個物品存在,它會使物品從中心擴散。爲了使可點擊區域平等的,你可以使用LinearLayoutManager作爲佈局管理器的recyclerView。

LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); RecyclerView myList = (RecyclerView) findViewById(R.id.my_recycler_view); myList.setLayoutManager(layoutManager);

對於recyclerView使用的物品,你可以保持寬度0dp,使layout_weight1。因此,在這裏,所有項目都獲得相同的權重,並幫助您實現目標。請讓我知道這是否有效。

+0

它沒有按預期工作。 – Madhan

+0

你可以附上它的外觀與你的代碼的截圖嗎?所以我可以更好地理解並找出差距。 –