[NEW] [XAML] 윈도우10 앱에 햄버거 메뉴 추가 | 햄버거 버튼 – Pickpeup

햄버거 버튼: นี่คือโพสต์ที่เกี่ยวข้องกับหัวข้อนี้

반응형

Windows Universal App이나 다른 플랫폼의 앱을 보면 다음과 같은 형태의 메뉴를 볼 수 있습니다.

왼쪽 상단의 버튼을 누르면 다음과 같이 메뉴가 펼쳐집니다.

햄버거 메뉴(Hamburger Menu)라고 불리는 메뉴입니다.

간단하게 햄버거 메뉴를 추가하는 방법에 대해서 알아보도록 하겠습니다.

먼저 Visual Studio 2015에서 프로젝트를 생성합니다.

Templates > Visual C# > Windows > Universal로 이동해서 Blank App을 생성합니다.

프로젝트 이름은 HamburgerDemo 라고 작성하고 OK를 누릅니다.

프로젝트가 생성되며 윈도우 10은 하나의 프로젝트로 생성이 됩니다.

햄버거 메뉴는 XAML의 SplitView를 통해서 구현이 가능합니다.

MainPage.xaml 파일을 열어서 다음과 같이 <Grid> 태그 사이에 XAML 코드를 입력합니다.

    <SplitView>
        <SplitView.Pane>
            
        </SplitView.Pane>
        <Frame x:Name="scenarioFrame">
            <StackPanel>
                <TextBlock Text="Hello!!"/>
            </StackPanel>
        </Frame>
    </SplitView>

아직은 정상적으로 표시가 되지 않습니다.

이제 그리고 SplitView 태그를 다음과 같이 변경합니다.

<SplitView x:Name="MySplitView" IsPaneOpen="False" CompactPaneLength="50" OpenPaneLength="150">

이름은 MySplitView로 설정하고 접힌 상태로 표시되도록 합니다.

그리고 펼쳐졌을 때의 길이와 접혔을 때의 길이를 설정합니다.

이제 <SplitView.Pane> 태그 사이에 실제 버튼들을 추가합니다.

            <StackPanel Background="Gray">
                <Button x:Name="HamburgerButton" FontFamily="Segoe MDL2 Assets" Content="&#x_E700;"
                    Width="50" Height="50" Background="Transparent" Click="HamburgerButton_Click"/>
                <StackPanel Orientation="Horizontal">
                    <Button x:Name="MenuButton1" FontFamily="Segoe MDL2 Assets" Content="&#x_E80F;"
                    Width="50" Height="50" Background="Transparent"/>
                    <TextBlock Text="Button 1" FontSize="18" VerticalAlignment="Center" />
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Button x:Name="MenuButton2" FontFamily="Segoe MDL2 Assets" Content="&#x_E77B;"
                        Width="50" Height="50" Background="Transparent"/>
                    <TextBlock Text="Button 2" FontSize="18" VerticalAlignment="Center" />
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Button x:Name="MenuButton3" FontFamily="Segoe MDL2 Assets" Content="&#x_E715;"
                        Width="50" Height="50" Background="Transparent"/>
                    <TextBlock Text="Button 3" FontSize="18" VerticalAlignment="Center" />
                </StackPanel>
            </StackPanel>

각 버튼의 Content에서 _를 반드시 제거해야 합니다.

Segoe MDL2 Assets에 자주 사용하는 아이콘들이 있는데 정상적으로 표시가 되지 않아 _를 추가했습니다.

이제 VisualStateManager를 추가해서 넓은 화면과 좁은 화면에서의 처리를 추가합니다.

SplitView는 몇가지 DisplayMode를 가지게 됩니다.

Inline의 경우 펼쳐질 때 오른쪽의 컨텐츠 화면을 밀면서 펼쳐집니다.

Overlay는 컨텐츠 화면이 그대로 있는 상태에서 메뉴가 덮어지는 형태로 펼쳐집니다.

그리고 CompactInline과 CompactOverlay는 기본적으로는 Inline, Overlay와 유사합니다.

다만 SplitView의 CompactPaneLength에 정수값을 지정하면 접힐 때 해당 길이만큼이 화면에 표시됩니다.

가장 위에서 햄버거 메뉴의 예제로 표시된 이미지와 동일한 형태로 접히게 됩니다.

PC 화면의 경우 오른쪽의 컨텐츠 공간이 충분하기 때문에 밀면서 메뉴가 표시되는 CompactInline을 사용합니다.

READ  [NEW] 【BIGBANG ドームツアー2016】会場や日程・チケット情報は? | vip ジャパン bigbang - Pickpeup

윈도폰의 경우는 Overlay가 적합합니다.

<Grid> 태그의 여는 부분 바로 다음에 VisualStateManager를 추가합니다.

        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState x:Name="wideState">
                    <VisualState.StateTriggers>
                        <AdaptiveTrigger MinWindowWidth="641" />
                    </VisualState.StateTriggers>
                    <VisualState.Setters>
                        <Setter Target="MySplitView.DisplayMode" Value="CompactInline"/>
                    </VisualState.Setters>
                </VisualState>
                <VisualState x:Name="narrowState">
                    <VisualState.StateTriggers>
                        <AdaptiveTrigger MinWindowWidth="0" />
                    </VisualState.StateTriggers>
                    <VisualState.Setters>
                        <Setter Target="MySplitView.DisplayMode" Value="Overlay"/>
                    </VisualState.Setters>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>

마지막으로 간단한 코드를 작성합니다.

햄버거 메뉴가 펼쳐졌을 때 클릭하면 접히도록 하고 그 반대의 기능 역시 할 수 있도록 코드를 추가합니다.

HamburgerButton 컨트롤에 보면 Click 이벤트를 처리할 HamburgerButton_Click이라는 이벤트 핸들러가 보입니다.

MainPage.cs 파일에 다음을 추가합니다.

private void HamburgerButton_Click(object sender, RoutedEventArgs e)
{
        MySplitView.IsPaneOpen = !MySplitView.IsPaneOpen;
}

이제 실행을 하면 햄버거 메뉴가 표시되는 것을 확인할 수 있습니다.

그리고 왼쪽 상단의 버튼을 누르면 정상적으로 메뉴가 확장되는 것을 확인할 수 있습니다.

전체 XAML 코드는 아래와 같습니다.

빈 MainPage.xaml에 그대로 복사해서 붙여넣으면 됩니다.

<Page
    x:Class="HamburgerDemo.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:HamburgerDemo"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState x:Name="wideState">
                    <VisualState.StateTriggers>
                        <AdaptiveTrigger MinWindowWidth="641" />
                    </VisualState.StateTriggers>
                    <VisualState.Setters>
                        <Setter Target="MySplitView.DisplayMode" Value="CompactInline"/>
                    </VisualState.Setters>
                </VisualState>
                <VisualState x:Name="narrowState">
                    <VisualState.StateTriggers>
                        <AdaptiveTrigger MinWindowWidth="0" />
                    </VisualState.StateTriggers>
                    <VisualState.Setters>
                        <Setter Target="MySplitView.DisplayMode" Value="Overlay"/>
                    </VisualState.Setters>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>

        <SplitView x:Name="MySplitView" IsPaneOpen="False" CompactPaneLength="50" OpenPaneLength="150">
            <SplitView.Pane>
                <StackPanel Background="Gray">
                    <Button x:Name="HamburgerButton" FontFamily="Segoe MDL2 Assets" Content="&#x_E700;"
                    Width="50" Height="50" Background="Transparent" Click="HamburgerButton_Click"/>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="MenuButton1" FontFamily="Segoe MDL2 Assets" Content="&#x_E80F;"
                    Width="50" Height="50" Background="Transparent"/>
                        <TextBlock Text="Button 1" FontSize="18" VerticalAlignment="Center" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="MenuButton2" FontFamily="Segoe MDL2 Assets" Content="&#x_E77B;"
                        Width="50" Height="50" Background="Transparent"/>
                        <TextBlock Text="Button 2" FontSize="18" VerticalAlignment="Center" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="MenuButton3" FontFamily="Segoe MDL2 Assets" Content="&#x_E715;"
                        Width="50" Height="50" Background="Transparent"/>
                        <TextBlock Text="Button 3" FontSize="18" VerticalAlignment="Center" />
                    </StackPanel>
                </StackPanel>
            </SplitView.Pane>
            <Frame x:Name="scenarioFrame">
                <StackPanel>
                    <TextBlock Text="Hello!!"/>
                </StackPanel>
            </Frame>
        </SplitView>
        
    </Grid>
</Page>

이 방법 대신 Grid를 Column으로 나누고 왼쪽에 햄버거 버튼 메뉴를 두고 그 옆에 SplitView를 두기도 합니다.

MSDN의 몇몇 샘플은 이런 방식으로 구현되어 있기도 합니다.

이것으로 간단하게 햄버거 메뉴를 추가할 수 있게 되었습니다.

반응형

저작자표시

비영리

변경금지


เนื้อหา

움직이는 메뉴버튼 코딩하기 input:checked(checkbox)[HTML+CSS{코남}]


안녕하세요 HTML과 CSS로 비쥬얼 아트 코딩을 지향하며 코딩하는 남자 코남입니다.
이번강좌에서는 움직이는 메뉴버튼을 만들어 보았습니다. 쇼핑몰이나 포트폴리오 사이트 또는 모바일웹에서 많이 사용되는 메뉴버튼인데 햄버거 버튼이라고도 불립니다.
클릭하면 체크되고 해제되는 input 요소를 활용해서 기본상태와 checked된 상태에 대한 방법으로 메뉴버튼에 움직임을 주어 만들었습니다.
모션을 위해서 transition 속성이 사용되었고
버튼을 만들기위해 position:relative;와 position:absolute;속성값이
사용되었습니다.
어떻게 하면 가장 단순하고 쉽게 코딩을 해서 만들까 생각을 해보다가 제작해보았습니다
코딩된 html파일은 블로그 상단에 업로드해 두었으니 파일을 받아서 직접 확인해 보시기 바랍니다.

〈공지// 20200413 업데이트
예제파일 그대로 사용하기
제가 제작한 컨텐츠를 그대로 사용하시려면 center 라는 클래스를 menuicon이나 아무 클래스명으로 바꾸고 CSS페이지에서 menuicon이나 직접지은 클래스에 {position:relative;} 값만 지정해서 레이아웃에 배치하시면 사용 가능합니다
.center는 예제파일을 실행했을 때 브라우저에서 쉽게 확인할 수 있도록 정중앙 배치를 하기위해 준 클래스와 스타일입니다.
//공지〉

background music : https://www.bensound.com

본 강좌가 도움이 되셨다면
좋아요와 구독하기 부탁드립니다.
문의사항은 이메일로 보내주셔도 됩니다.

B/블로그 : https://blog.naver.com/conam/221435957202
E/이메일 : conam@naver.com

นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูเพิ่มเติม

움직이는 메뉴버튼 코딩하기 input:checked(checkbox)[HTML+CSS{코남}]

뽀로로 요리놀이 11~20 이어보기 | 뽀로로 햄버거 먹방! | 뽀롱뽀롱뽀로로 | 키글TV


요리사 루피의 주방에 놀러오세요!~
➔구글 플레이 다운로드 (안드로이드) : https://bit.ly/2YXtlzK
➔앱 스토어 다운로드 (아이폰) : https://apple.co/3dlFVOu
_
▶ 총 20종의 다양한 메뉴!
한식, 중식, 양식, 간식 등 아이들이 좋아하는 요리를 만나보세요!
▶ 맛있는 요리를 만들어요!
루피와 함께 요리를 만들며 즐거운 시간을 보내보세요.
하나씩 만들다 보면 어느새 멋진 요리 완성!
▶ 음식을 골고루 먹을 수 있어요!
건강한 식습관을 가질 수 있도록 다양한 음식과 재료를 준비했어요.
▶ 새로운 요리는 계속 업데이트됩니다.
30종의 더욱 다양하고 인기 있는 메뉴를 기대해 주세요!
_
구독 버튼을 누르면 새로운 영상을 가장 빠르게 만나 볼 수 있어요!
지금 바로 [구독] 버튼을 눌러주세요!
●키글 채널 구독하기 https://bit.ly/37DEwQu
●키글 영어 채널 https://bit.ly/2H9gnaa
●키글 차트쇼 채널 https://bit.ly/2y3yY25
●키글 장난감 채널 https://bit.ly/2W8MRtF
●키글 게임 채널 https://bit.ly/2Hxfh7r
●KIGLE TOYS https://bit.ly/39LU0nN
●KIGLE GAMES https://bit.ly/39JIE3B
_
뽀로로 요리놀이 더보기 https://goo.gl/Tq4MFg
키글TV Kigle

READ  [NEW] 誕生日にオススメ!2020年最新バースデーソングランキングTOP20!1位はback number?それともドリカム?(2020年11月11日)|BIGLOBEニュース | イーガールズ 曲 ランキング - Pickpeup

뽀로로 요리놀이 11~20 이어보기 | 뽀로로 햄버거 먹방! | 뽀롱뽀롱뽀로로 | 키글TV

달님이 햄버거가게 장난감 햄버거 만들기 놀이 – 지니


달님이 햄버거 가게 장난감을 가지고 햄버거와 샌드위치를 만들어본 이야기.
☆구독과 영상 좋아요 버튼을 눌러주세요.
☆ 인스타그램 jini_pinkpink
【 https://www.instagram.com/jini_pinkpink/ 】
☆ 럭키강이 채널
【 https://www.youtube.com/channel/UCDHIA4d_e4SOrODpU7nrVtA 】
☆ 헤이지니 채널
【 https://www.youtube.com/channel/UCdet8uJfTFlACtY05BQmJ1Q 】

달님이 햄버거가게 장난감 햄버거 만들기 놀이 - 지니

jQuery 45 [ 햄버거 버튼 – 풀페이지 네비게이션] Hamburger Menu Icon, full page navigation


예제 링크 : https://codepen.io/alikerock/pen/bjzzab
햄버거 버튼 애니메이션
에디터: codepen
티스토리 : http://alikerock.tistory.com/
후원하기 : https://toon.at/donate/ezwebpub
full page, hanburger, 햄버거, 웹디자인, 웹퍼블리셔, 프론트엔드, 웹디자인기능사

jQuery 45 [ 햄버거 버튼 - 풀페이지 네비게이션] Hamburger Menu Icon, full page navigation

늑대가 나타났다! | 햄버거를 훔쳐갔어요! 🍔🍟🍕 | 32분 음식친구 동화 연속보기 | 햄버거 | 도넛 | 주스 | 사탕 | 감자튀김 | 베이비버스 인기동요 동화 | BabyBus


🌸베이비버스 스토어🌸 https://smartstore.naver.com/babybusmall
♥구독♥ 베이비버스 동요동화 구독하기:
https://www.youtube.com/channel/UCscjdazZ1AqHxxrO6YDIQg?sub_confirmation=1
순서 :
00:00 BabyBus
00:05 늑대가 나타났다
08:29 콜라의 물폭탄
16:32 아찔한 숨박꼭질
24:23 자판기 속 오렌지주스
🎬더 많이 동영상을 즐겨봐요!!!🎬
😊Pacman 팩맨😊 https://youtu.be/TlUiOqML1ug
👀신기한 자판기👀 https://youtu.be/nH8YZgVYsuU
🚽화장실이 급해요!🚽 https://youtu.be/ewnkPOlUJTI
🍭다섯 무지개 사탕 친구들🍭 https://youtu.be/gcBxfCVCZoo
🚙안전승차동요🚙 https://youtu.be/h3vRPZqblYs
🎬동요\u0026동화 끝이 없이 즐기기! 🎬
🎉베이비버스 인기동요 모음 🎉 : https://www.youtube.com/playlist?list=PLm7CdxiJJlFU_1b6uea0gDz6UQbVh9KbI
💪 키키묘묘 구조대 출동! 동화 모음💪 : https://www.youtube.com/playlist?list=PLm7CdxiJJlFVnBoTG0TpRjhPJA_01dIk
🍔음식친구와 놀아요 ! 동화 모음🍔: https://www.youtube.com/playlist?list=PLm7CdxiJJlFX_Lgx8z_FTZpX72Rkqk89
베이비버스
베이비버스는 아이들의 성장단계별 기초인지,지능발달,소통의사,창의력,예술감각,안전과 환경보호,자연과학,올바른 습관 등 영역의 내용을 엄선하여 어린이 눈높이에 맞게 다양한 주제로 제작된 유아교육용(다국어버전)콘텐츠를 전세계어린이 상대로 서비스를 하고 있습니다. 오늘도 베이비버스 채널과 즐거운 하루 되세요!
Nursery rhymes in English, canciones en inglés para niños, Comptines en anglais, Lagulagu anak berbahasa Inggeris, Musik Untuk Anak, barnvisorna på engelska, Músicas em inglês para crianças, Gyerekzene, Kinderlieder in Englisch, 英文兒歌, Písničky v angličtině, أناشيد أطفال باللغة الإنجليزية, अंग्रेजी में नर्सरी कविताएं, Barnerim på engelsk, Canzoni per bambini in inglese, Engelse kinderliedjes, Piosenki dla dzieci po angielsku, เพลงภาษาอังกฤษสำหรับเด็ก
베이비버스 SNS를 팔로우하고 정보도 받아보세요!
❤페이스북: https://www.facebook.com/BabyBus.ko
베이비버스베이비버스동요키키묘묘인기동요인기동화키키묘묘구조대출동안전교육BabyBusforkidsnurseryrhymes
Copyright ©BABYBUS CO.Ltd All Rights Reserved.

늑대가 나타났다! | 햄버거를 훔쳐갔어요! 🍔🍟🍕 | 32분 음식친구 동화 연속보기 | 햄버거 | 도넛 | 주스 | 사탕 | 감자튀김 | 베이비버스 인기동요 동화 | BabyBus

นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูบทความเพิ่มเติมในหมวดหมู่Music of Turkey

ขอบคุณที่รับชมกระทู้ครับ 햄버거 버튼

Leave a Comment