我正在创建一个简单的单页应用,它会显示一个4x4的图像网格,并在点击它们时执行一些操作。我想知道最好的办法是什么。
我在考虑使用带有gridlayoutmanager的recyclerview,但我认为这对我的情况来说有点多了。我不希望它可滚动,我希望它适合屏幕上的整个4x4网格,它总是只有4x4。
GridLayout是我正在寻找的,每个单元格中都有imageview吗?更好的是,我喜欢CardView的外观。我可以在每个单元格中放入一个带有ImageView的CardView吗?
任何建议都表示赞赏。
答案 0 :(得分:1)
如果您的观点永远不会离开屏幕,那么无法回收再见。 用XML格式化布局。将您的图像视图永久存在。 但是根据它们的分辨率,许多图像视图可能占用大量RAM。 (它们在内存中作为未压缩的位图处理)
使用滑动显示图像以优化内存使用。 https://github.com/bumptech/glide
答案 1 :(得分:0)
对于一个非常简单的4x4,你可以使用一个垂直的LinearLayout,里面有两个水平的LinearLayout。在每个水平布局中设置两个ImageView。将每个图像宽度设置为match_parent。
表格或相对布局可以节省多个线性布局膨胀的内存,但这将是快速而肮脏的方式。
希望它有所帮助。
答案 2 :(得分:0)
GridView
使用RecyclerView
或GridLayoutManager
recyclerView.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
return event.getAction() == MotionEvent.ACTION_MOVE;
}
});
。将元素总数设置为4.要禁用滚动,请使用此 -
OnClickListener
并为适配器类中的每个图像设置var html = $(".container-fluid").html()
var temp = "<div class='container'>"+html+"</div>"
$(".container-fluid").html(temp)
以进行单击操作。一种有效的方法。