我是Android新手,我正在寻找网格视图的逻辑,例如针对i-phone构建的pinterest(主屏幕)应用程序。一个大的没有。图像来自服务器,我需要以下面的形式显示分页效果,即在滚动上加载图像。
如果可能的话,请回复。我将非常感激。
答案 0 :(得分:3)
如果你想在滚动上执行图像加载,那么它将类似于List View。首先从WS URL保存所有数据然后按需加载现在
Commonsware Endless Adapter对于Listview,您也可以将它与GridView集成
另一种方法是将网格视图放在ViewFlipper中,然后用动画翻转。
使用setInAnimation()和setOutAnimation()设置动画并使用showNext()和showPrevious()
翻转页面答案 1 :(得分:3)
创建布局,如下所示
<ScrollView...>
<LinearLayout....
android:id="@+id/linear1"
orientation="horizontal">
<LinearLayout....
android:id="@+id/linear2"
android:layout_weight="0.33"
orientation="vertical">
<LinearLayout....
android:id="@+id/linear3"
android:layout_weight="0.33"
orientation="vertical">
<LinearLayout....
android:layout_weight="0.33"
orientation="vertical">
</LinearLayout>
</ScrollView>
现在在布局中动态添加ImageView
linear1 = (LinearLayout) findViewById(R.id.linear1);
linear2 = (LinearLayout) findViewById(R.id.linear2);
linear3 = (LinearLayout) findViewById(R.id.linear3);
for(int i=0;i<n;i++)
{
ImageView iv = new ImageView(this);
iv.setImageResource(R.id.icon);
int j = count % 3; <----
if(j==0)
linear1.addView(iv);
else if(j==1)
linear2.addView(iv);
else
linear3.addView(iv);
}
答案 2 :(得分:0)
StaggeredGridView允许用户使用类似于Pinterest外观的不均匀行创建GridView。包括自己的OnItemClickListener和OnItemLongClickListener,选择器和固定位置恢复。
答案 3 :(得分:0)
这是一个老问题,但对于那些有类似问题的人:
完成此布局样式的最简单方法是使用带有StaggeredGridLayoutManager的RecyclerView,如下所示:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
View recyclerView = findViewById(R.id.recycle_view);
assert recyclerView != null;
StaggeredGridLayoutManager gaggeredGridLayoutManager = new
StaggeredGridLayoutManager(2, 1);
recyclerView.setLayoutManager(gaggeredGridLayoutManager);
}
对于问题的其他部分(pagging),最好以块的形式接收图像(例如每个请求50个图像),当用户向下滚动(到最后)时加载更多。