【问题标题】:Change foreground color of a layout programmatically以编程方式更改布局的前景色
【发布时间】:2016-11-10 05:49:21
【问题描述】:

我想更改线性布局的前景色。 这是我的代码:layout.setForeground(new ColorDrawable(getResources().getColor(R.color.svbackclr))); 但是这个调用需要最低 api 级别 23。那么如何在 pre 23 api 上做同样的事情。

【问题讨论】:

    标签: android


    【解决方案1】:

    正如@Gaurav 建议的FrameLayout,您可以通过以下方式以编程方式使用前景色

    int color = R.color.black_trans_60;
    frm.setForeground(new ColorDrawable(ContextCompat.getColor(mContext, color)));
    

    【讨论】:

    • 这在 Api 16 中不起作用,因为它需要 api 23。
    【解决方案2】:

    我建议使用FrameLayout 在这你可以使用setForeground()

    在任何 API 级别

    【讨论】:

      【解决方案3】:

      这是a documentation bugsetForeground() 存在于 API 级别 1 的 FrameLayout 上;它仅在 API 级别 23 上查看。

      所以最好扩展FrameLayout

      【讨论】:

        猜你喜欢
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多