2017-08-09 40 views
0

我正在創建一個簡單的單頁應用程序,它將顯示一個4x4的圖像網格,並在點擊它們時執行一些操作。我想知道做這件事的最好方法是什麼。如何在Android活動中顯示可點擊圖片的4x4網格?

我正在考慮與gridlayoutmanager一起使用recyclerview,但我認爲這對我的情況有點幫助。我不希望它是可滾動的,我希望它適合屏幕上的整個4x4網格,並且它總是隻有4x4。

是一個GridLayout我在找什麼,在每個單元格的圖像?更好的是,我喜歡CardView的外觀。我可以在每個帶有ImageView的單元中放置CardView嗎?

任何建議表示讚賞。

+0

我在我的應用程序中使用了2x2,它是由4個ImageView製作的,也不可滾動,但是我在標籤菜單中使用了它們,它非常完美。如果你想達到同樣的目的,那麼我可以分享我的代碼(使用4x4),或者你也可以使用'ConstraintLayout'生成它們。我在問,因爲你可以自己實施。所以你想要的代碼? –

回答

1

如果您的意見永遠不會從屏幕上消失,那麼回收站視圖就沒有任何意義。 以XML格式進行佈局。將您的圖像視圖永久保存。 但是,許多圖像查看可能會佔用大量的RAM,具體取決於其分辨率。 (它們作爲內存中的未壓縮位圖處理)

使用滑動顯示圖像以優化內存使用情況。 https://github.com/bumptech/glide

0

對於非常簡單的4x4,您可以在內部使用垂直LinearLayout和兩個水平LinearLayouts。在每個水平佈局中設置兩個ImageView。將每個圖像寬度設置爲match_parent。

  • 垂直的LinearLayout
  • 水平的LinearLayout
  • ImageView的 - 寬度:match_parent
  • ImageView的 - 寬度:match_parent
  • 水平的LinearLayout
  • ImageView的 - 寬度:match_parent
  • ImageView的 - 寬度:match_parent

表格或相對佈局可能會在存儲器上保存多個線性佈局,但這會是快速和骯髒的方式。

希望它有幫助。

0

使用GridViewRecyclerViewGridLayoutManager。集合中元素的總數量爲4。並禁用滾動使用本 -

recyclerView.setOnTouchListener(new View.OnTouchListener(){ 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      return event.getAction() == MotionEvent.ACTION_MOVE; 
     } 

    }); 

並設置OnClickListener到在適配器類別的每個圖像的點擊動作。一種有效的方法。

+0

使用'GridView'我可以做到這一點,因此它不能滾動,並將隨着屏幕尺寸縮放?我希望4x4網格在所提供的空間內儘可能大,並始終顯示所有4x4單元格。 – intA

相關問題