0

在此处输入图像描述

嗨,伙计们,我的问题很简单

我想像 flowlayout 或 GridLayout 一样在一行中添加图像,如下图所示

在该布局上方,我想添加一个按钮,使其位于行之间。当我滚动我的网格视图时,按钮图像也会与网格视图一起滚动。

任何人都可以建议我一些想法如何成为可能

4

1 回答 1

1

如果它总是第四个项目 - 那肯定没问题。

使用 android:numColumns="3" 执行 GridView

在您的适配器中实现三种视图类型

这个想法是在第二行中添加两个空白项,并在中间添加一个按钮。

private static final int TYPE_NORMAL = 0;
private static final int TYPE_BLANK = 1;
private static final int TYPE_BUTTON = 2;


@Override
public int getViewTypeCount() {
    return 3;
}

@Override
public int getCount() {
    return yourdata.size() + 3;
}

// return your real data by skipping row with the button
@Override
public Object getItem(int position) {
    if (position > 3) {
        position += 3;
    }
    return yourdata.get(position);
}

// return your real data ID by skipping row with the button  The button probably should catch it's own onClickListemer
@Override
public long getItemId(int position) {
    if (position > 3) {
        position += 3;
    }
    return yourdata.get(position).getId();
}


@Override
public int getItemViewType(int position) {
    switch(position) {
        case 4:
        case 6:
            return TYPE_BLANK;

        case 5:
            return TYPE_BUTTON;

        default:
            return TYPE_NORMAL;
    }
}

// only your items should be clickable
@Override
public boolean isEnabled(int position) {
    return position < 4 && position > 6;
}

// nope, only your specific data items are enabled.
@Override
public boolean areAllItemsEnabled() {
    return false;
}

在您的 getView 方法中,只需检查项目视图类型并膨胀正确的视图。有关实现具有多种项目类型的适配器的更多详细信息,请参阅带有节标题等的 ListView 示例。

如何在某些部分上方生成带有标题的 ListView?

http://w2davids.wordpress.com/android-sectioned-headers-in-listviews/

于 2013-02-06T12:24:51.783 回答