【问题标题】:Linearlayout programmatically - How to set up a divider?以编程方式线性布局 - 如何设置分隔线?
【发布时间】:2013-03-25 19:04:39
【问题描述】:

我正在以编程方式在LinearLayout 中创建TextViews,我想用分隔线将它们分开(只是一条简单的线)。我无休止地搜索,我发现我可以使用.setDividerDrawable,但我不想为此使用外部图像。 有什么建议吗?

【问题讨论】:

    标签: android android-linearlayout divider


    【解决方案1】:

    如何以编程方式向 Android 布局添加分隔符

    创建一个 View 高 1 或 2 像素,宽 match_parent 并将背景颜色设置为您希望分隔线的任何颜色。

    使用margin设置将分隔线与上方和下方的项目分开。

    示例

    ImageView divider = new ImageView(this);
    LinearLayout.LayoutParams lp = 
        new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
    lp.setMargins(left, top, right, bottom);
    divider.setLayoutParams(lp);
    divider.setBackgroundColor(Color.WHITE);
    

    【讨论】:

    • 是的,我试过了,但是失败了。如何以编程方式将宽度设置为 fill_parent?
    • 使用 match_parent, fill_parent 在 API 8 中已被弃用,取而代之的是 match_parent。除此之外,这似乎是一个不错的答案。
    • 工作完美.. 非常感谢!
    【解决方案2】:

    您可以在 xml 中使用简单的可绘制对象作为分隔线(例如 here),或者使用几乎不占用任何内容的 9-patch 图像。

    然后,使用 LinearLayoutICS 在大多数设备上显示分隔线。你可以看看this post我已经做了。

    【讨论】:

      【解决方案3】:

      对于线性布局,您可以使用此属性设置分隔线 android:divider="some color" android:showDividers="middle"

      【讨论】:

        猜你喜欢
        • 2013-06-28
        • 1970-01-01
        • 2016-09-14
        • 2012-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多