function.uvue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <view class="padding-safe-area-inset">
  3. <view class="text-background">我在状态栏下边</view>
  4. <view class="content">
  5. <text>此页面使用env()函数适配安全区域,仅在app平台生效。</text>
  6. <text>safe-area-inset-top: {{safeareaInsetTop}}px</text>
  7. <text>safe-area-inset-left: {{safeareaInsetLeft}}px</text>
  8. <text>safe-area-inset-right: {{safeareaInsetRight}}px</text>
  9. <text>safe-area-inset-bottom: {{safeareaInsetBottom}}px</text>
  10. </view>
  11. <view class="text-background">我在导航栏上边</view>
  12. </view>
  13. </template>
  14. <script>
  15. export default {
  16. data() {
  17. return {
  18. safeareaInsetTop: 0,
  19. safeareaInsetLeft: 0,
  20. safeareaInsetRight: 0,
  21. safeareaInsetBottom: 0,
  22. }
  23. },
  24. methods: {
  25. },
  26. onReady() {
  27. this.safeareaInsetTop=this.$page.safeAreaInsets.top;
  28. this.safeareaInsetLeft=this.$page.safeAreaInsets.left;
  29. this.safeareaInsetRight=this.$page.safeAreaInsets.right;
  30. this.safeareaInsetBottom=this.$page.safeAreaInsets.bottom;
  31. },
  32. onResize() {
  33. this.safeareaInsetTop=this.$page.safeAreaInsets.top;
  34. this.safeareaInsetLeft=this.$page.safeAreaInsets.left;
  35. this.safeareaInsetRight=this.$page.safeAreaInsets.right;
  36. this.safeareaInsetBottom=this.$page.safeAreaInsets.bottom;
  37. }
  38. }
  39. </script>
  40. <style>
  41. .text-background {
  42. background-color: red;
  43. }
  44. .padding-safe-area-inset {
  45. flex: 1;
  46. justify-content: space-between;
  47. /* #ifdef APP */
  48. padding-top: env(safe-area-inset-top, 0px);
  49. padding-left: env(safe-area-inset-left, 0px);
  50. padding-right: env(safe-area-inset-right, 0px);
  51. padding-bottom: env(safe-area-inset-bottom, 0px);
  52. /* #endif */
  53. }
  54. .content{
  55. padding: 20px;
  56. }
  57. </style>