2017-01-07 3 views
2

Я использую границы 0.5px в приложении React Native. Это отлично работает на большинстве устройств, но на iPhone 6 plus эти границы отображаются размытыми. После чтения по отношениям пикселей here Я решил использовать что-то вроде ниже.React Native: проблемы с половинной пикселью на устройствах с высокой плотностью пикселей

Интересно, смог ли кто-либо еще успешно использовать границы 0.5px на устройствах с высокой плотностью пикселей?

borderWidth: PixelRatio.get() >= 3 ? 1 : 0.5 
+2

Почему не 'Stylesheet.hairlineWidth'? – vovkasm

+0

Не знал об этом. Спасибо! Кстати, оригинальная проблема считается ошибкой или устройства с высокой плотностью не поддерживают половинные пиксельные линии? –

+0

Я думаю, что 0.5px на устройствах с высокой плотностью просто не совпадают с целыми пикселями экрана. См. В исходном коде, как вычисляется линия волоса. – vovkasm

ответ

5

Вы можете использовать hairlineWidth так:

import {StyleSheet} from 'react-native'; 

const styles = StyleSheet.create({ 
    elementWithHalfPixelBorder: { 
    borderWidth: StyleSheet.hairlineWidth, 
    }, 
}); 
Смежные вопросы