cari
Rumahhujung hadapan webhtml tutorialwindows phone app 添加启动页面介绍新功能_html/css_WEB-ITnose

方案1: 利用 Panorama或者 pivotpage

1. 重写panorama page, 使其达到全屏

    public class PanoramaFullScreen : Panorama    {        protected override System.Windows.Size MeasureOverride(System.Windows.Size availableSize)        {            availableSize.Width += 48;            return base.MeasureOverride(availableSize);        }    }


2. 去掉 title 和 header,调整好margin

            <phone:PanoramaItem>                <Grid Canvas.ZIndex="-1" Margin="-66,-40,-55,0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="591">                        <Image Stretch="Fill" Source="/Images/screen1.jpg" VerticalAlignment ="Stretch"                                                         HorizontalAlignment="Stretch" Margin="54,0,54,0"/>                    </Grid>            </phone:PanoramaItem>

3. 在codebehind 中控制页面跳转


 private TouchPoint first;        private const int DetectRightGesture = 20;        private int startIndex = 0;        private readonly int endIndex;        public WhatsNewView()        {            InitializeComponent();            endIndex = MyStartScreen.Items.Count - 1;            MyStartScreen.IsHitTestVisible = false;            MyStartScreen.IsEnabled = false;            Touch.FrameReported += Touch_FrameReported;            TouchPanel.EnabledGestures = GestureType.HorizontalDrag;        }        private void Touch_FrameReported(object sender, TouchFrameEventArgs e)        {                     try            {                TouchPoint mainTouch = e.GetPrimaryTouchPoint(this);                if (mainTouch.Action == TouchAction.Down)                    first = mainTouch;                else if (mainTouch.Action == TouchAction.Up && TouchPanel.IsGestureAvailable)                {                    if (mainTouch.Position.X - first.Position.X < -DetectRightGesture)                    {                        if (startIndex < endIndex)                        {                            MyStartScreen.SlideToPage(startIndex + 1, SlideTransitionMode.SlideLeftFadeOut);                            startIndex++;                        }                        else                        {                            NavigateToNextPage();                        }                    }                    else if (mainTouch.Position.X - first.Position.X > DetectRightGesture)                    {                        if (startIndex > 0)                        {                            MyStartScreen.SlideToPage(startIndex - 1, SlideTransitionMode.SlideRightFadeOut);                            startIndex--;                        }                    }                }            }            catch            {            }        }        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)        {            NavigateToNextPage();        }        private void NavigateToNextPage()        {            NavigationService.Navigate(new Uri("/Views/LoginPage.xaml", UriKind.Relative));        }        protected override void OnNavigatedFrom(NavigationEventArgs e)        {            while (NavigationService.BackStack.Any())            {                NavigationService.RemoveBackEntry();            }        }

4. 补充: 拓展panorama 方法,使其跳转附带动画

  public static void SlideToPage(this Panorama self, int item, SlideTransitionMode slideMode)        {            var slideTransition = new SlideTransition { };            slideTransition.Mode = slideMode;            ITransition transition = slideTransition.GetTransition(self);            transition.Completed += delegate            {                self.DefaultItem = self.Items[item];                transition.Stop();            };            transition.Begin();        }


不足:

SlideTransitionMode SlideTransitionMode支持动画有限,一般达不到预期效果


方案2:

将所有图片水平排列,根据手势通过左右偏移来控制显示


 <Canvas>            <StackPanel x:Name="Slider"                        Canvas.Left="0"                        Orientation="Horizontal">                <Image Source="/Images/screen1.jpg"                       Stretch ="UniformToFill"/>                <Image Source="/Images/screen2.jpg"                       Stretch ="UniformToFill" />                <Image Source="/Images/screen3.jpg"                       Stretch ="UniformToFill" />            </StackPanel>        </Canvas>

一般来说,最后一页面中的按钮和前面不同,可以通过 SlidePageIndex 来区分。先将其声明为依赖属性,在view中通过converter来控制是否显示

        public static readonly DependencyProperty SlidePageIndexProperty =                 DependencyProperty.Register("SlidePageIndex", typeof(int), typeof(StartScreenView), null);        public int SlidePageIndex        {            get { return (int)GetValue(SlidePageIndexProperty); }            set { SetValue(SlidePageIndexProperty, value); }        }

偏移量根据不同设备决定

 _uniformImageWidth = (int)Application.Current.Host.Content.ActualWidth;

手势控制

Touch.FrameReported += Touch_FrameReported;            TouchPanel.EnabledGestures = GestureType.HorizontalDrag;

 private void Touch_FrameReported(object sender, TouchFrameEventArgs e)        {            try            {                TouchPoint mainTouch = e.GetPrimaryTouchPoint(this);                if (mainTouch.Action == TouchAction.Down)                    first = mainTouch;                else if (mainTouch.Action == TouchAction.Up && TouchPanel.IsGestureAvailable)                {                    if (mainTouch.Position.X - first.Position.X < -DetectRightGesture)                    {                        if (SlidePageIndex == MaxSlidePageCount - 1)                        {                            NavigateToLoginPage();                        }                        SlidePageIndex++;                        Slide();                    }                    else if (mainTouch.Position.X - first.Position.X > DetectRightGesture)                    {                        if (SlidePageIndex == 0) return;                        SlidePageIndex--;                        Slide();                    }                }            }            catch            {            }        }


滑动逻辑

        private void Slide()        {            var storyboard = new Storyboard();            var ani = new DoubleAnimation();            ani.To = SlidePageIndex * -_uniformImageWidth;            ani.Duration = TimeSpan.FromSeconds(1.0f);            ani.EasingFunction = new ElasticEase() { EasingMode = EasingMode.EaseInOut, Oscillations = 0 };            Storyboard.SetTarget(ani, this.Slider);            Storyboard.SetTargetProperty(ani, new PropertyPath("(Canvas.Left)"));            storyboard.Children.Add(ani);            storyboard.Begin();        }


此页面不可以通过back键导航??

        protected override void OnNavigatedFrom(NavigationEventArgs e)        {            while (NavigationService.BackStack.Any())            {                NavigationService.RemoveBackEntry();            }        }


??

??

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
HTML: Struktur, CSS: Gaya, JavaScript: Tingkah LakuHTML: Struktur, CSS: Gaya, JavaScript: Tingkah LakuApr 18, 2025 am 12:09 AM

Peranan HTML, CSS dan JavaScript dalam pembangunan web adalah: 1. HTML mentakrifkan struktur laman web, 2. CSS mengawal gaya laman web, dan 3. JavaScript menambah tingkah laku dinamik. Bersama -sama, mereka membina kerangka, estetika dan interaktiviti laman web moden.

Masa Depan HTML: Evolusi dan Trend dalam Reka Bentuk WebMasa Depan HTML: Evolusi dan Trend dalam Reka Bentuk WebApr 17, 2025 am 12:12 AM

Masa depan HTML penuh dengan kemungkinan yang tidak terhingga. 1) Ciri -ciri dan piawaian baru akan merangkumi lebih banyak tag semantik dan populariti komponen web. 2) Trend reka bentuk web akan terus berkembang ke arah reka bentuk yang responsif dan boleh diakses. 3) Pengoptimuman prestasi akan meningkatkan pengalaman pengguna melalui pemuatan imej yang responsif dan teknologi pemuatan malas.

HTML vs CSS vs JavaScript: Gambaran Keseluruhan PerbandinganHTML vs CSS vs JavaScript: Gambaran Keseluruhan PerbandinganApr 16, 2025 am 12:04 AM

Peranan HTML, CSS dan JavaScript dalam pembangunan web adalah: HTML bertanggungjawab untuk struktur kandungan, CSS bertanggungjawab untuk gaya, dan JavaScript bertanggungjawab untuk tingkah laku dinamik. 1. HTML mentakrifkan struktur laman web dan kandungan melalui tag untuk memastikan semantik. 2. CSS mengawal gaya laman web melalui pemilih dan atribut untuk menjadikannya cantik dan mudah dibaca. 3. JavaScript mengawal tingkah laku laman web melalui skrip untuk mencapai fungsi dinamik dan interaktif.

HTML: Adakah bahasa pengaturcaraan atau yang lain?HTML: Adakah bahasa pengaturcaraan atau yang lain?Apr 15, 2025 am 12:13 AM

Htmlisnotaprogramminglanguage; itisamarkuplanguage.1) htmlstructuresandformatswebcontentusingtags.2) itworkswithcssforstylingandjavascriptforinteractivity, meningkatkan pembangunan semula.

HTML: Membina struktur laman webHTML: Membina struktur laman webApr 14, 2025 am 12:14 AM

HTML adalah asas struktur laman web bangunan. 1. HTML mentakrifkan struktur kandungan dan semantik, dan penggunaan, dan sebagainya. 2. Menyediakan penanda semantik, seperti, dan sebagainya, untuk meningkatkan kesan SEO. 3. Untuk merealisasikan interaksi pengguna melalui tag, perhatikan pengesahan bentuk. 4. Gunakan elemen lanjutan seperti, digabungkan dengan JavaScript untuk mencapai kesan dinamik. 5. Kesilapan biasa termasuk label yang tidak terkawal dan nilai atribut yang tidak disebutkan, dan alat pengesahan diperlukan. 6. Strategi pengoptimuman termasuk mengurangkan permintaan HTTP, memampatkan HTML, menggunakan tag semantik, dll.

Dari teks ke laman web: Kekuatan HTMLDari teks ke laman web: Kekuatan HTMLApr 13, 2025 am 12:07 AM

HTML adalah bahasa yang digunakan untuk membina laman web, menentukan struktur laman web dan kandungan melalui tag dan atribut. 1) HTML menganjurkan struktur dokumen melalui tag, seperti,. 2) Penyemak imbas menghancurkan HTML untuk membina DOM dan menjadikan laman web. 3) Ciri -ciri baru HTML5, seperti, meningkatkan fungsi multimedia. 4) Kesilapan biasa termasuk label yang tidak terkawal dan nilai atribut yang tidak disebutkan. 5) Cadangan pengoptimuman termasuk menggunakan tag semantik dan mengurangkan saiz fail.

Memahami HTML, CSS, dan JavaScript: Panduan PemulaMemahami HTML, CSS, dan JavaScript: Panduan PemulaApr 12, 2025 am 12:02 AM

WebDevelopmentReliesOnhtml, CSS, andjavascript: 1) HtmlStructuresContent, 2) CSSStylesit, dan3) JavaScriptaddsInteractivity, Formingthebasisofmodernwebexperiences.

Peranan HTML: Penstrukturan Kandungan WebPeranan HTML: Penstrukturan Kandungan WebApr 11, 2025 am 12:12 AM

Peranan HTML adalah untuk menentukan struktur dan kandungan laman web melalui tag dan atribut. 1. HTML menganjurkan kandungan melalui tag seperti, menjadikannya mudah dibaca dan difahami. 2. Gunakan tag semantik seperti, dan lain -lain untuk meningkatkan kebolehcapaian dan SEO. 3. Mengoptimumkan kod HTML boleh meningkatkan kelajuan pemuatan laman web dan pengalaman pengguna.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.