小编Nic*_*nko的帖子

Snackbar 多行文本填充

令我惊讶的是,如果 Snackbar 跨越多行,它本身似乎会在 TextView 上设置额外的填充。它有效地将 Snackbar 的高度加倍,并且由于某种原因只影响垂直填充。我在SnackbarContentLayout.onMeasure

    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    if (mMaxWidth > 0 && getMeasuredWidth() > mMaxWidth) {
        widthMeasureSpec = MeasureSpec.makeMeasureSpec(mMaxWidth, MeasureSpec.EXACTLY);
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }

    final int multiLineVPadding = getResources().getDimensionPixelSize(
            R.dimen.design_snackbar_padding_vertical_2lines);
    final int singleLineVPadding = getResources().getDimensionPixelSize(
            R.dimen.design_snackbar_padding_vertical);
    final boolean isMultiLine = mMessageView.getLayout().getLineCount() > 1;

    boolean remeasure = false;
    if (isMultiLine && mMaxInlineActionWidth > 0
            && mActionView.getMeasuredWidth() > mMaxInlineActionWidth) {
        if (updateViewsWithinLayout(VERTICAL, multiLineVPadding,
                multiLineVPadding - singleLineVPadding)) {
            remeasure = true;
        }
    } else {
        final int messagePadding = isMultiLine …
Run Code Online (Sandbox Code Playgroud)

android snackbar android-snackbar material-components material-components-android

2
推荐指数
1
解决办法
242
查看次数

Firebase 远程配置重叠条件组

我正在使用 Firebase 远程配置,想知道当 Firebase 参数有重叠条件时幕后会发生什么。例如,假设我对参数有两个条件:

  1. 如果用户使用 Android 设备,则返回 true。
  2. 如果用户使用的是 Android 设备,并且该设备是 Samsung,则返回 false。

如果用户从三星设备查询,Firebase 会为此参数返回什么?据推测,这取决于 Firebase 首先检查哪个条件。这只是冰山一角,它源于 Firebase 不支持and条件表达式的运算符。例如,为了避免重叠,并且只希望三星设备返回 false,我需要为每个可能的 Android 设备创建一个单独的条件,并返回 true ( If Google device: return true, If Huawei: return true, If Motorolla: return true),因为我不能只有一个条件If device is Google OR Huawei OR Motorolla OR ...

有没有办法至少强制执行 Firebase 远程配置值的检查顺序?

android firebase firebase-remote-config

2
推荐指数
1
解决办法
3716
查看次数