列表视图,每行具有不同的布局膨胀

时间:2013-03-29 15:01:14

标签: android user-interface android-listview

我在Android中设计用户界面相当陌生(对于Android开发来说也相当新)。我目前正在开发一个Android应用程序,它看起来很像Google +的“All Circles”页面,以及Facebook的用户主页,在那里你可以看到朋友分享的内容。

为了更清楚,请查看以下截图,该截图来自Google +的Android应用程序:

enter image description here

正如你所看到的,Paul Harper的帖子在一个小框架中,“Android和我”的帖子在另一个帖子中。向下滚动越多,您将看到的共享内容就越多,每个都在自己的“框架”中。

我真的不确定如何实现这个结果(我确定它涉及一个ListView组件),所以有人可以告诉我有关我应该使用的UI组件吗?

非常感谢。

2 个答案:

答案 0 :(得分:7)

您应该查看链接中的视频。

http://www.youtube.com/watch?v=wDBM6wVEO70

private static final int TYPE_ITEM1 = 0;
private static final int TYPE_ITEM2 = 1;
private static final int TYPE_ITEM3 = 2;    

int type;

@Override
public int getItemViewType(int position) {

    if (position== 0){
        type = TYPE_ITEM1;
    } else if  (position == 1){
        type = TYPE_ITEM2;
    }
    return type;
}


@Override  
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
LayoutInflater inflater = null;
int type = getItemViewType(position);
   if (row  == null) {
    if (type == FIRST_TYPE) {
                 //infalte layout of type1
      }
    if (type == FIRST_TYPE) {
                 //infalte layout of type2
    }  else {
                 //infalte layout of normaltype
 }
} 

答案 1 :(得分:1)

你是对的。对于列表,您需要查找的关键字是“ListView”,“ListFragment”,“ListActivity”。要为列表(项)提供自定义外观,您需要为列表行定义自己的布局,然后可以包含多个子视图。要使用内容填充行(及其子视图),您需要定义在列表中设置的自定义适配器。寻找(例如)“ArrayAdapter”,“SimpleCursorAdapter”。

尝试谷歌搜索“android列表自定义布局”和“android列表适配器”。

祝你好运, 塞巴斯蒂安