2

API 10 アンドロイドで使用できる resolveSizeAndState の最良の方法は何ですか? 私は周りを検索しましたが、立ち往生しています。

src コードをこれに書き直しました。とにかく動作しますが、安全ですか?

private int resolveSizeAndState2(int size, int measureSpec, int childMeasuredState) {
    int result = size;
    int specMode = MeasureSpec.getMode(measureSpec);
    int specSize =  MeasureSpec.getSize(measureSpec);
    switch (specMode) {
    case MeasureSpec.UNSPECIFIED:
        result = size;
        break;
    case MeasureSpec.AT_MOST:
        if (specSize < size) {
            result = specSize | MEASURED_STATE_TOO_SMALL;
        } else {
            result = size;
        }
        break;
    case MeasureSpec.EXACTLY:
        result = specSize;
        break;
    }
    return result | (childMeasuredState&MEASURED_STATE_MASK);
}
4

1 に答える 1