Listview每行具有不同的布局膨胀

问题描述 投票:5回答:2

我对在Android中设计UI相当陌生(对于Android开发也很陌生)。我目前正在开发一个看起来与Google+的“所有圈子”页面和Facebook的用户主页非常相似的Android应用程序,您可以在其中查看朋友共享的内容。

为了使事情更清楚,请看以下来自Google+的Android应用程序的屏幕截图:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9uNU0wZC5wbmcifQ==” alt =“在此处输入图像描述”>

如您所见,Paul Harper的帖子在一个小框架中,而“ Android和我”的帖子在另一框架中。向下滚动的次数越多,共享的内容就越多,每个内容都位于其自己的“框架”中。

我真的不确定如何获得此结果(我确定它涉及ListView组件),所以任何人都可以告诉我应该使用的UI组件吗?

一吨。

android user-interface android-listview
2个回答
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类型;

@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 == TYPE_ITEM1) {
                 //infalte layout of type1
      }
    if (type == TYPE_ITEM2) {
                 //infalte layout of type2
    }  else {
                 //infalte layout of normaltype
 }
} 

1
投票

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

尝试用Google搜索“ Android列表自定义布局”和“ Android列表适配器”。

最好的问候,塞巴斯蒂安

© www.soinside.com 2019 - 2024. All rights reserved.