퓨즈[Fusetools] 문서[Docs] 번역

  1. Home
  2. 퓨즈[Fusetools] 문서[Docs] 번역
  3. 컨트롤들
  4. 네이티브뷰호스트[NativeViewHost]

네이티브뷰호스트[NativeViewHost]

NativeViewHost 클래스

GraphicsView 위에 네이티브 컨트롤 레이어를 작성합니다. 하위 트리의 컨트롤은 OS에서 제공하는 네이티브 컨트롤에 매핑됩니다.

퓨즈 앱에는 기본적으로 고성능 OpenGL 그래픽을 사용하여 UI 컴포넌트가 렌더링 되도록 보장하는 루트 수준의 암시적 GraphicsView가 포함되어 있습니다.

플랫폼 OS에 번들로 제공되는 네이티브 스톡 컨트롤을 표시하려면 NativeViewHost를 사용할 수 있습니다. 일부 컨트롤은 네이티브 컨트롤(예: WebView 또는 MapView)로만 제공되는 반면 일부 컨트롤은 네이티브 컨트롤과 그래픽 컨트롤(예: ScrollView 또는 Rectangle) 모두 사용할 수 있습니다.

참고: 네이티브 컨트롤은 항상 그래픽 컨트롤 앞에 렌더링 됩니다.

유일한 예외는 Fuse.Controls.NativeViewHost.RenderToTexture가 활성화된 경우이며, 자체적으로 제한 사항이 있습니다.

예제

WebView는 네이티브 뷰로만 사용할 수 있습니다. 표시 방법은 다음과 같습니다.

1
2
3
4
5
<Panel>
    <NativeViewHost>
        <WebView Url="http://example.com" />
    </NativeViewHost>
</Panel>

또한 일반적인 UX 마크업과 마찬가지로 네이티브 컨트롤을 서로 겹치고 네이티브 뷰 호스트 내에 계층을 형성할 수 있습니다.

1
2
3
4
5
6
7
8
<Panel>
    <NativeViewHost>
        <Panel Alignment="Top" Padding="15" Color="#0006">
            <Text>This text is layered on top of the WebView</Text>
        </Panel>
        <WebView Url="http://example.com" />
    </NativeViewHost>
</Panel>

RenderToTexture 속성을 사용하여 네이티브 뷰를 텍스처로 렌더링하면 다른 그래픽 기반 비주얼에서 올바른 레이어 합성이 가능합니다. 이것은 성능 비용이 발생하며 네이티브 뷰는 텍스처로 렌더링되는 동안 상호 작용하지 않습니다.

1
2
3
4
<Text Alignment="Center">This text is layered on top of the NativeViewHost</Text>
<NativeViewHost RenderToTexture="true">
    <Rectangle Color="#324" />
</NativeViewHost>

네이티브 컴포넌트만으로 구성된 앱을 만들려면 앱의 루트에 를 배치하십시오:

1
2
3
4
5
<App>
    <NativeViewHost>
        <!-- 전체 앱을 여기에 작성하세요. -->
    </NativeViewHost>
</App>

NativeViewHost의 인터페이스

링크로 대신합니다: https://www.fusetools.com/docs/fuse/controls/nativeviewhost#section-table-of-contents

Was this article helpful to you? Yes No

How can we help?