安卓 SuperSLiM : Margin between sections

标签 android superslim

我正在使用 SuperSLiM library从谷歌日历应用程序重新创建议程 View 。我遇到的问题是在各部分之间创建一个边距。我尝试将 topMargin 放在各部分的第一个位置,但随后标题显示不正确。

最佳答案

解决了。我为我的 LineItem 提供了一个 bool 值,表示它是最后一个,然后对其应用 bottomMargin。

订单项:

private class LineItem
{
    public int sectionFirstPosition;
    public boolean isHeader;
    public boolean isLast;
    public Item item;

    public LineItem(Item item, boolean isHeader, int sectionFirstPosition)
    {
        this.isHeader = isHeader;
        this.item = item;
        this.sectionFirstPosition = sectionFirstPosition;
    }

    public void setLast()
    {
        isLast = true;
    }
}

设置最后一项:

    for (int i = 0; i < items.size(); i++)
    {
        long header = item.get(i).getTimestamp();
        if (lastHeader != header)
        {
            if(mItems.size() >= 1)
            {
                mItems.get(mItems.size() - 1).setLast();
            }
            // Insert new header view and update section data.
            sectionFirstPosition = i + headerCount;
            lastHeader = header;
            headerCount += 1;
            mItems.add(new LineItem(items.get(i), true, sectionFirstPosition));
        }
        mItems.add(new LineItem(items.get(i), false, sectionFirstPosition));
    }

设置下边距:

    if(item.isLast)
    {
        lp.bottomMargin = mContext.getResources().getDimensionPixelSize(R.dimen.section_margin);
    }else
    {
        lp.bottomMargin = 0;
    }

关于安卓 SuperSLiM : Margin between sections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110286/

相关文章:

java - DataSnapshot 无法创建自定义对象

Android 错误 : This template requires a build target API version of at least 14,,当前版本为 7

java - Xamarin 绑定(bind) java 库 - 未找到包

Android:以编程方式更改按钮背景

android - ActionbarSherlock:设置 Logo 宽度/高度

android - 如何在 Android 中保持粘性 gridview

android - 使用 SuperSLiM 库检测 RecyclerView 的 GridLayoutManager 滚动结束

android - 如何为 SuperSLiM 库编译 JAR?