【问题标题】:Android View setPadding() vs setPaddingRelative()Android 视图 setPadding() 与 setPaddingRelative()
【发布时间】:2013-03-01 01:16:27
【问题描述】:

基于Android document 不做过多解释,setPadding()setPaddingRelative() 有什么区别?

【问题讨论】:

    标签: android android-view padding


    【解决方案1】:

    setPaddingRelative 里面有这个代码:

    switch(getResolvedLayoutDirection()) {
            case LAYOUT_DIRECTION_RTL:
                setPadding(end, top, start, bottom);
                break;
            case LAYOUT_DIRECTION_LTR:
            default:
                setPadding(start, top, end, bottom);
    }
    

    因此,当您使用 setPaddingRelative 设置填充时,它会根据用户的布局方向更改左右填充值。

    【讨论】:

    • 上帝,他们为此选择了一个误导性的名称。我虽然这意味着“相对于当前值调整填充”,所以 setPaddingRelative(0, 10, 5, 0) 会将顶部填充增加 10,右侧填充增加 5。有时我真的很想念这样的功能......
    • ViewCompat#setPaddingRelative 如果支持 RTL,则可以自动调用 setPaddingRelative,如果不支持(即 API 17 之前),则可以自动调用 setPadding,如果您关心这类事情
    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 2015-06-21
    • 1970-01-01
    • 2013-12-02
    相关资源
    最近更新 更多