WEBVTT

00:00:00.000 --> 00:00:01.260
MÚSICA

00:00:01.260 --> 00:00:03.310
Incrível. Vamos entrar.

00:00:05.270 --> 00:00:09.040
Reúna-se para a palavra do Xamarin.

00:00:11.690 --> 00:00:13.020
>> Amém.

00:00:13.020 --> 00:00:19.965
>> Amém. Fresco. Incrível.
Temos a tela certa.

00:00:19.965 --> 00:00:22.995
Está bem. Está todo mundo
ter um bom tempo?

00:00:22.995 --> 00:00:23.610
>> Sim.

00:00:23.610 --> 00:00:26.235
>> Sim. Ainda bem que vieste.

00:00:26.235 --> 00:00:27.840
Você fez seus amigos ciumentos?

00:00:27.840 --> 00:00:28.440
>> Sim.

00:00:28.440 --> 00:00:30.645
>> Fez seus inimigos ciumentos?

00:00:30.645 --> 00:00:33.990
Sem essa. Sim, isso é ótimo.

00:00:33.990 --> 00:00:36.090
Tem sido absolutamente
maravilhoso estar cercado por

00:00:36.090 --> 00:00:40.534
tantos tipos, agradável,
pessoas afins,

00:00:40.534 --> 00:00:44.280
exceto para Duane aqui em cima
na frente. Eu não sei.

00:00:47.030 --> 00:00:50.010
Eu provoco. Você sabe que eu provoco.

00:00:50.010 --> 00:00:52.880
Fresco. Então estamos aqui
para falar sobre fazer

00:00:52.880 --> 00:00:55.910
UI louco bonito
com o Xamarin Forms.

00:00:55.910 --> 00:00:58.580
Então eu imagino
Você está interessado em

00:00:58.580 --> 00:01:00.140
todas as dicas e truques que eu

00:01:00.140 --> 00:01:02.270
esperança de ser capaz de
compartilhar com vocês hoje.

00:01:02.270 --> 00:01:06.200
Claro, estes não são
para uso gratuito,

00:01:06.200 --> 00:01:08.105
Mas podemos fazer
algumas coisas realmente agradáveis.

00:01:08.105 --> 00:01:11.790
Eu recebo pediu uma variedade de
perguntas o tempo todo.

00:01:11.790 --> 00:01:14.025
Obviamente, através
Twitter, por e-mail,

00:01:14.025 --> 00:01:15.810
através da fala em conferências,

00:01:15.810 --> 00:01:19.005
sobre como você faz x, y, e z?

00:01:19.005 --> 00:01:23.515
Provavelmente, o principal é
como você faz paralaxe?

00:01:23.515 --> 00:01:25.700
Alguém já fez paralaxe antes?

00:01:25.700 --> 00:01:27.335
Qualquer um na sala, algumas pessoas.

00:01:27.335 --> 00:01:31.220
Alguém tentou fazer
paralaxe e disse, "Dane-se isso."

00:01:31.220 --> 00:01:36.140
Tenho alguns desses. Então eu
irá mostrar-lhe alguns paralaxe.

00:01:36.140 --> 00:01:37.370
É realmente muito impressionante,

00:01:37.370 --> 00:01:40.370
muito fácil. Eu tenho
Tenho outro passo.

00:01:40.370 --> 00:01:42.845
Eu me diverti muito
construindo essas demos,

00:01:42.845 --> 00:01:46.710
Porque eu estava usando Hot reload.

00:01:47.020 --> 00:01:49.835
Então foi muito divertido.

00:01:49.835 --> 00:01:51.140
Eu arquivei alguns bugs,

00:01:51.140 --> 00:01:52.360
alguns deles foram corrigidos,

00:01:52.360 --> 00:01:53.590
alguns deles vão ficar fixos,

00:01:53.590 --> 00:01:55.580
algumas das melhorias
ainda estão por vir,

00:01:55.580 --> 00:01:58.370
Mas sabíamos que estava pronto
estar lá fora na selva.

00:01:58.370 --> 00:02:00.230
Então eu estou contente que você está
vai estar recebendo-o em

00:02:00.230 --> 00:02:03.320
seu imundo pouco ganancioso
pequenas mãos em breve.

00:02:03.320 --> 00:02:05.150
Espero que você tome
a oportunidade de

00:02:05.150 --> 00:02:07.175
fornecer muitos comentários para a equipe.

00:02:07.175 --> 00:02:09.050
Deixe-nos saber como ele está trabalhando para você,

00:02:09.050 --> 00:02:11.470
Deixe-nos saber onde não é, cool?

00:02:11.470 --> 00:02:14.490
Então essa é a minha alça do Twitter.

00:02:14.490 --> 00:02:17.040
No final eu tenho o meu e-mail também.

00:02:17.040 --> 00:02:18.790
Por favor, chegue a qualquer momento.

00:02:18.790 --> 00:02:22.115
Peço desculpas se não
voltar para você imediatamente,

00:02:22.115 --> 00:02:27.705
Mas eu leio todos os e-mails
e eu tento responder a todos eles.

00:02:27.705 --> 00:02:29.760
Às vezes eu chupar na gestão do tempo,

00:02:29.760 --> 00:02:31.520
Então você sabe como é.

00:02:31.520 --> 00:02:34.190
Fresco. Então eu pensei que o primeiro
coisa que gostaríamos de falar

00:02:34.190 --> 00:02:39.420
sobre se a minha flecha funciona.

00:02:39.420 --> 00:02:42.160
Um desses botões tem que funcionar.

00:02:42.710 --> 00:02:46.755
Literalmente não quer
para encaminhar. Aí vai.

00:02:46.755 --> 00:02:49.230
Olá. Então pensei em falar primeiro.

00:02:49.230 --> 00:02:51.650
sobre temas; cores, fontes, ícones,

00:02:51.650 --> 00:02:55.690
Porque você provavelmente seguiu
os anúncios da Apple,

00:02:55.690 --> 00:02:59.735
o iOS 13 agora tem o modo escuro.

00:02:59.735 --> 00:03:00.570
>> Sim.

00:03:00.570 --> 00:03:03.435
>> Sim. Mais tempo de telefone na cama,

00:03:03.435 --> 00:03:07.140
é disso que estamos falando.

00:03:07.140 --> 00:03:11.160
Então isso é importante e as pessoas
vão pedir-lhe,

00:03:11.160 --> 00:03:12.625
Talvez você já esteja perguntando,

00:03:12.625 --> 00:03:15.280
"Como posso melhor
apoiar essas coisas em

00:03:15.280 --> 00:03:18.010
meu aplicativo para certificar-se de que seu aplicativo

00:03:18.010 --> 00:03:20.590
sente que pertence como deveria em

00:03:20.590 --> 00:03:23.695
a plataforma iOS, bem
como Android, é claro.

00:03:23.695 --> 00:03:26.365
Então, como posso melhor endereço
essas coisas? "

00:03:26.365 --> 00:03:27.910
Então eu vou compartilhar
com você alguns dos

00:03:27.910 --> 00:03:29.860
as coisas que eu tendem a procurar.

00:03:29.860 --> 00:03:32.440
Agora, meu passado antes

00:03:32.440 --> 00:03:34.450
juntando-se a Microsoft dois
anos e meio atrás,

00:03:34.450 --> 00:03:36.275
Eu tinha uma empresa chamada render,

00:03:36.275 --> 00:03:38.535
e fizemos consultoria.

00:03:38.535 --> 00:03:43.550
Era eu mesmo parceiro Ben Bishop
e vários contratantes.

00:03:43.610 --> 00:03:46.080
Então, fizemos aplicativos para startups,

00:03:46.080 --> 00:03:47.400
fizemos para as empresas,

00:03:47.400 --> 00:03:49.680
Tivemos grandes clientes, nós
tinha pequenos clientes.

00:03:49.680 --> 00:03:51.705
Um dos temas comuns foi,

00:03:51.705 --> 00:03:53.415
era muito criativo,

00:03:53.415 --> 00:03:55.455
pensamento muito para a frente, houve

00:03:55.455 --> 00:03:57.985
barra muito alta para a experiência do usuário.

00:03:57.985 --> 00:04:00.490
Então, nós estávamos constantemente fazendo
coisas que não conseguimos encontrar

00:04:00.490 --> 00:04:04.030
qualquer precedente para ou nós
apenas tentar resolver isso.

00:04:04.030 --> 00:04:06.010
Então, alguns destes são
Dicas e truques de

00:04:06.010 --> 00:04:08.500
recursos úteis e
práticas que eu tenho.

00:04:08.500 --> 00:04:11.915
Então um dos primeiros é
encontrar recursos como este.

00:04:11.915 --> 00:04:14.990
Esta é a cor dot Adobe dot com.

00:04:14.990 --> 00:04:17.840
Costumava ser chamado
Kuler, K-U-L-E-R.

00:04:17.840 --> 00:04:20.960
Então este é um site e
Há também um aplicativo móvel

00:04:20.960 --> 00:04:23.760
que você pode usar e você pode
tirar fotos de cores,

00:04:23.760 --> 00:04:26.420
Você pode tirar fotos
de uma foto inteira,

00:04:26.420 --> 00:04:29.160
e ele vai dizer o que
a paleta de cores é.

00:04:29.160 --> 00:04:32.620
Então, se você está procurando
apenas um conjunto de cinco, seis,

00:04:32.620 --> 00:04:35.310
cores que se encaixam em um tema específico,

00:04:35.310 --> 00:04:37.150
Este é um bom recurso para ir para.

00:04:37.150 --> 00:04:40.270
Se você é cor
desafiado, isso é bom.

00:04:40.270 --> 00:04:43.834
Agora, algo para ter em mente
do ponto de vista da acessibilidade,

00:04:43.834 --> 00:04:45.350
Só porque há uma paleta de cores,

00:04:45.350 --> 00:04:47.890
Não significa que ele vai
para ser grande em seu telefone,

00:04:47.890 --> 00:04:50.659
Não significa que ele vai
para ser grande para a acessibilidade,

00:04:50.659 --> 00:04:53.165
Porque quando se trata de cor,

00:04:53.165 --> 00:04:55.115
contraste é muito importante.

00:04:55.115 --> 00:04:56.840
Você tem que levar em conta a cor

00:04:56.840 --> 00:04:58.565
cegueira e coisas assim.

00:04:58.565 --> 00:05:00.230
Então você quer estar ciente disso.

00:05:00.230 --> 00:05:02.270
Eu não promovi isso no meu deck,

00:05:02.270 --> 00:05:05.345
Mas eu sei no Mac, em particular,

00:05:05.345 --> 00:05:07.160
Há um plug-in que você

00:05:07.160 --> 00:05:09.480
pode instalar, ou é
Nem mesmo um plug-in,

00:05:09.480 --> 00:05:10.670
é um aplicativo que você pode instalar,

00:05:10.670 --> 00:05:13.550
e ele vai transformar sua tela em

00:05:13.550 --> 00:05:17.600
uma representação do que
as pessoas daltônicos diferentes vêem,

00:05:17.600 --> 00:05:20.690
e que vai realmente abrir seus olhos

00:05:20.690 --> 00:05:22.880
para o que você está lidando

00:05:22.880 --> 00:05:25.070
com e que essas pessoas
viver com todos os dias.

00:05:25.070 --> 00:05:28.860
Verde não é necessariamente verde
como verde, talvez, essa coisa.

00:05:28.860 --> 00:05:30.510
Então este é um recurso muito bom.

00:05:30.510 --> 00:05:33.750
Um outro é coolers.com,
é que coolers.com?

00:05:33.750 --> 00:05:37.500
Sim, coolers.co. Apenas
Google para estes,

00:05:37.500 --> 00:05:39.690
verificá-los. De novo, muito bom.

00:05:39.690 --> 00:05:40.905
Eles vão te dar o RGB,

00:05:40.905 --> 00:05:44.430
Eles vão te dar
as cores hexadecimais,

00:05:44.430 --> 00:05:46.440
Você pode fazer mono cromática,

00:05:46.440 --> 00:05:49.925
Você pode fazer contrastando, todas as coisas.

00:05:49.925 --> 00:05:52.385
É um recurso realmente grande
e você pode começar por lá.

00:05:52.385 --> 00:05:54.710
Agora, quais são os seus
opções quando você vai para

00:05:54.710 --> 00:05:57.470
fazer temas dentro do Xamarin Forms?

00:05:57.470 --> 00:05:59.720
Então você provavelmente está
pensando em temas,

00:05:59.720 --> 00:06:02.870
para que você procure o tema do Word
com o Xamarin Forms,

00:06:02.870 --> 00:06:04.055
e você encontrar esse Xamarin

00:06:04.055 --> 00:06:08.140
Pacote Forms. Theme.
Alguém usou isso?

00:06:08.140 --> 00:06:12.480
Um, dois. Foi uma dor
na bunda para se configurar?

00:06:12.480 --> 00:06:15.155
Sim, muito mais do que
precisava ser.

00:06:15.155 --> 00:06:20.310
Então, foi uma prévia que
a equipe foi posta há muitos anos.

00:06:20.310 --> 00:06:23.330
É ainda Preview porque gira

00:06:23.330 --> 00:06:26.130
fora que realmente não era
a melhor abordagem,

00:06:26.130 --> 00:06:27.600
e assim muito foi aprendido.

00:06:27.600 --> 00:06:31.160
Ainda se senta lá fora, apenas
no caso de alguém querer usá-lo,

00:06:31.160 --> 00:06:33.785
Porque nós realmente não temos
substituiu-o por qualquer coisa.

00:06:33.785 --> 00:06:37.105
Eu não recomendo usá-lo,

00:06:37.105 --> 00:06:39.510
Eu ignoraria,
fingir que não existe.

00:06:39.510 --> 00:06:41.550
Poderemos removê-lo em algum momento,

00:06:41.550 --> 00:06:42.780
Perguntaram-me, "Ei,

00:06:42.780 --> 00:06:44.430
Quando podemos abandonar esta coisa?

00:06:44.430 --> 00:06:46.320
Temos um hábito especial,

00:06:46.320 --> 00:06:48.110
Agora que somos parte da Microsoft que

00:06:48.110 --> 00:06:49.670
Nós não queremos remover
qualquer coisa que ninguém

00:06:49.670 --> 00:06:52.770
pode ter uma dependência
sem muita advertência,

00:06:52.770 --> 00:06:54.620
e rótulos, e coisas.

00:06:54.620 --> 00:06:57.495
Então você também tem GrialKit.

00:06:57.495 --> 00:06:59.025
Eu chamo-lhe GrialKit,

00:06:59.025 --> 00:07:00.950
Mas eu ouvi-lo pronunciado
várias maneiras diferentes,

00:07:00.950 --> 00:07:04.580
Mas eu acho que eu vou ser apenas um ignorante
Americano e chamá-lo GrialKit

00:07:04.580 --> 00:07:09.510
Porque é como
o Santo Graal, Grail, Greil.

00:07:09.510 --> 00:07:12.530
Então isso é realmente um grande,

00:07:12.530 --> 00:07:13.760
super fácil de usar.

00:07:13.760 --> 00:07:15.650
Eu mesmo peguei e usei.

00:07:15.650 --> 00:07:18.710
Eles têm um muito robusto
Theming motor dentro

00:07:18.710 --> 00:07:22.385
de Grail e você pode usá-lo.

00:07:22.385 --> 00:07:25.430
É comercial, então você
pagar uma taxa de licença,

00:07:25.430 --> 00:07:27.950
Eu não sei o que a corrente
arranjo é e coisas assim,

00:07:27.950 --> 00:07:29.570
Mas na minha experiência,

00:07:29.570 --> 00:07:31.400
Valeu a pena cada centavo.

00:07:31.400 --> 00:07:34.050
Eu fiz uma equipe de robótica do ensino médio,

00:07:34.050 --> 00:07:35.840
meu filho faz o material robótico,

00:07:35.840 --> 00:07:37.790
e eles queriam
criar um aplicativo móvel para

00:07:37.790 --> 00:07:41.900
Basicamente rastrear as outras equipes
em suas competições,

00:07:41.900 --> 00:07:44.254
e, basicamente, fazer scouting,

00:07:44.254 --> 00:07:45.860
Mas eles queriam ficar bem.

00:07:45.860 --> 00:07:48.260
Então eu defini-lo com
a licença e tudo mais,

00:07:48.260 --> 00:07:49.730
e eles foram apenas soprados para longe.

00:07:49.730 --> 00:07:51.260
Eles são como, "Este é
exatamente o que eu quero.

00:07:51.260 --> 00:07:54.835
Eu quero ser o garoto legal e meu
coisas parece incrível por padrão.

00:07:54.835 --> 00:07:58.250
Então, do outro jeito você pode ir
sobre ele está escrevendo-o você mesmo.

00:07:58.250 --> 00:07:59.960
Claro, escrevendo-o você mesmo

00:07:59.960 --> 00:08:01.400
significa que você vai fazer
um pouco de trabalho,

00:08:01.400 --> 00:08:03.680
Mas você possui isso, e você
conhecê-lo de ponta a ponta.

00:08:03.680 --> 00:08:06.080
Esse é mais um dos
as razões que nós realmente nunca

00:08:06.080 --> 00:08:08.935
evoluíram esses Xamarin
Pacote de tema de formulários,

00:08:08.935 --> 00:08:11.880
é porque com estilos,
recursos estáticos,

00:08:11.880 --> 00:08:13.490
e recursos dinâmicos, você realmente

00:08:13.490 --> 00:08:15.935
ter tudo em
seus dedos que você precisa.

00:08:15.935 --> 00:08:20.150
Então você não precisa necessariamente
um pacote inteiro para torná-lo mais difícil,

00:08:20.150 --> 00:08:21.755
nós torná-lo muito fácil.

00:08:21.755 --> 00:08:23.540
Então eu vou mostrar uma demo aqui em

00:08:23.540 --> 00:08:26.005
um pouco e isso é
o método que eu uso.

00:08:26.005 --> 00:08:28.400
Recursos dinâmicos, algo que eu

00:08:28.400 --> 00:08:30.770
pegou a partir de
nossa equipe de assessoria ao cliente.

00:08:30.770 --> 00:08:32.620
Eu estava olhando através de alguns
de seu código e eu sou como,

00:08:32.620 --> 00:08:35.565
"Isso é incrível, eu sou apenas
vai usá-lo totalmente.

00:08:35.565 --> 00:08:39.545
Então vamos mostrar isso. Alguns outros
coisas quando se trata de fontes,

00:08:39.545 --> 00:08:41.120
Nós adicionamos isso recentemente,

00:08:41.120 --> 00:08:43.235
Eu acho que foi Xamarin Forms 4.1.

00:08:43.235 --> 00:08:46.060
Adicionamos alguns novos tamanhos de nomes.

00:08:46.060 --> 00:08:48.290
É bom usar tamanhos de nome

00:08:48.290 --> 00:08:50.705
especialmente quando
vem à acessibilidade.

00:08:50.705 --> 00:08:53.120
Então eu tenho pais que
estão ficando um pouco

00:08:53.120 --> 00:08:55.535
mais forte nos olhos para ver as coisas,

00:08:55.535 --> 00:08:57.755
e assim que você pegar
seu telefone e apenas

00:08:57.755 --> 00:09:00.920
smack no rosto com
a fonte porque é tão grande.

00:09:00.920 --> 00:09:03.140
Então, eu realmente vi alguns de vocês

00:09:03.140 --> 00:09:05.810
aqui com fontes realmente grandes
em seus telefones,

00:09:05.810 --> 00:09:08.420
Então isso é bom para você também.

00:09:08.420 --> 00:09:10.745
Sim, mas nós adicionamos algumas coisas novas.

00:09:10.745 --> 00:09:13.640
James Clancy um dos
nossos engenheiros enviam nesse PR.

00:09:13.640 --> 00:09:16.970
Temos alguns adicionais
trabalho benéfico que vem para

00:09:16.970 --> 00:09:20.735
fontes, bem como para torná-lo
mais fácil de fazer multi-plataforma.

00:09:20.735 --> 00:09:24.995
Temos nas obras
o plano para essencialmente cair

00:09:24.995 --> 00:09:29.350
um arquivo de fonte em seu compartilhado,
your.NET projeto padrão.

00:09:29.350 --> 00:09:31.965
Whoops, mas você sabe
o que quero dizer com compartilhado?

00:09:31.965 --> 00:09:33.830
Nós não falamos sobre compartilhados em termos

00:09:33.830 --> 00:09:35.660
do projeto sujo compartilhado coisa,

00:09:35.660 --> 00:09:38.600
Estamos falando about.NET
projetos padrão,

00:09:38.600 --> 00:09:40.580
que não há nada de errado
com projetos compartilhados,

00:09:40.580 --> 00:09:42.990
Mas apenas para ser claro
sobre o que quero dizer.

00:09:43.260 --> 00:09:46.630
Solte essa fonte lá
e automaticamente

00:09:46.630 --> 00:09:49.690
faz o material Pre-Build necessário.

00:09:49.690 --> 00:09:53.470
Então você não precisa se preocupar
sobre como configurar info. plist.

00:09:53.470 --> 00:09:57.670
Você não precisa se preocupar com
combinando os nomes ou figurando

00:09:57.670 --> 00:09:59.590
como faz referência Android

00:09:59.590 --> 00:10:02.170
esta fonte versus como é que
iOS referenciar esta fonte.

00:10:02.170 --> 00:10:06.220
Vocês todos se divertiu que eu tenho certeza
e você já usou essa Trivia com

00:10:06.220 --> 00:10:08.440
seus amigos para wow-los como você

00:10:08.440 --> 00:10:10.660
pode fazer fontes personalizadas
no iOS e Android,

00:10:10.660 --> 00:10:12.250
Mas podemos torná-lo mais fácil.

00:10:12.250 --> 00:10:13.735
Então isso está vindo também.

00:10:13.735 --> 00:10:16.255
Então você usa estes e, em seguida,

00:10:16.255 --> 00:10:19.360
Quando o usuário entra em
as definições de acessibilidade,

00:10:19.360 --> 00:10:21.070
Eles comutam o tamanho da fonte,

00:10:21.070 --> 00:10:24.155
Eles automaticamente obter
o benefício do redimensionamento,

00:10:24.155 --> 00:10:28.955
enquanto que se você código rígido
Esses tamanhos de texto, em seguida, é corrigido.

00:10:28.955 --> 00:10:34.329
Agora, eu diria que é até
você use sua discrição

00:10:34.329 --> 00:10:36.970
e trabalhe com sua equipe
para descobrir onde

00:10:36.970 --> 00:10:40.285
usar o tamanho da fonte nomeada e onde
para usar tamanhos de fonte fixos.

00:10:40.285 --> 00:10:43.870
Talvez tudo
Não precisa escalar.

00:10:43.870 --> 00:10:46.510
Então isso é algo
que está à sua disposição.

00:10:46.510 --> 00:10:48.400
Não é uma coisa de tudo ou nada.

00:10:48.400 --> 00:10:50.545
Você usá-lo como ele
faz mais sentido.

00:10:50.545 --> 00:10:52.090
Está bem. Então, aqui estão

00:10:52.090 --> 00:10:54.790
os ingredientes do que
Eu vou trabalhar.

00:10:54.790 --> 00:10:57.190
Um serviço temático, essencialmente
Eu só vou

00:10:57.190 --> 00:11:00.070
utilizar os recursos existentes do aplicativo,

00:11:00.070 --> 00:11:04.060
estilos predefinidos, e então eu estou
vai aplicar estilos dinâmicos.

00:11:04.060 --> 00:11:06.160
Então, vamos olhar para algum código, não é?

00:11:06.160 --> 00:11:09.320
Isso não leva muito
longo para entrar em código.

00:11:09.330 --> 00:11:13.570
Fresco. Tudo bem, onde está ZAPPY?

00:11:13.570 --> 00:11:16.610
Então aqui está o que eu tenho.

00:11:18.450 --> 00:11:22.010
Vamos ver o que é a chave de zoom?

00:11:23.400 --> 00:11:29.450
Plus-Plus, comando Plus.
Olha para isto.

00:11:30.180 --> 00:11:33.535
Então venha aqui pequeno cursor cara.

00:11:33.535 --> 00:11:36.620
Este é o Windows, é
tão difícil para mim caras.

00:11:36.960 --> 00:11:41.260
Tudo bem, então aqui
na minha pasta estilos,

00:11:41.260 --> 00:11:44.320
Eu tenho um tema padrão,

00:11:44.320 --> 00:11:46.270
Eu tenho um tema escuro,

00:11:46.270 --> 00:11:49.990
e então eu tenho um tema branco
que é uma nomeação horrível.

00:11:49.990 --> 00:11:52.090
Um deve talvez ser tema preto

00:11:52.090 --> 00:11:54.205
ou talvez o tema branco
deve ser um tema leve.

00:11:54.205 --> 00:11:56.380
Por que eu misturado branco e escuro,

00:11:56.380 --> 00:11:59.260
Só posso culpar a falta de sono.

00:11:59.260 --> 00:12:02.845
Mas eu tenho certeza que você nomear tudo
perfeitamente a primeira vez.

00:12:02.845 --> 00:12:04.930
Nomear é fácil para você,

00:12:04.930 --> 00:12:07.150
é difícil para mim. Eu entendo totalmente.

00:12:07.150 --> 00:12:10.390
Ok. Então vamos olhar para
esses arquivos apenas um segundo

00:12:10.390 --> 00:12:13.915
e então eu também tenho alguns outros
coisas separadas aqui.

00:12:13.915 --> 00:12:17.410
XAML global que traz
tudo junto

00:12:17.410 --> 00:12:22.660
realmente e então eu tenho ícones
aqui, tamanhos e texto.

00:12:22.660 --> 00:12:25.690
É esta uma prática que você usa se

00:12:25.690 --> 00:12:28.180
Você tem um monte de recursos
ou um monte de estilos definidos,

00:12:28.180 --> 00:12:31.945
você quebrá-los em
categorias como essa?

00:12:31.945 --> 00:12:34.555
Levante a mão para mim se
Isso é algo que você faz.

00:12:34.555 --> 00:12:39.160
Fresco. Então não é loucura, afinal.

00:12:39.160 --> 00:12:41.620
Tire-me daqui, lá vamos nós.

00:12:41.620 --> 00:12:46.000
Então aqui está o meu arquivo XAML global
e assim eu tenho todas as minhas cores até

00:12:46.000 --> 00:12:50.155
aqui e talvez que poderia ser
refatorizado em um arquivo separado.

00:12:50.155 --> 00:12:53.230
A propósito, estamos procurando
no aplicativo ZAPPY,

00:12:53.230 --> 00:12:56.980
Talvez eu deva puxar o Edge.

00:12:56.980 --> 00:12:58.690
Vamos usar uma vantagem agora, certo.?

00:12:58.690 --> 00:13:00.100
Edge no Windows.

00:13:00.100 --> 00:13:03.670
Está indo muito bem, eu gosto
Ele. Estou no canário.

00:13:03.670 --> 00:13:07.750
Eu atualizei todas as minhas coisas
ontem à noite não apenas o meu Edge,

00:13:07.750 --> 00:13:09.160
todos os meus Visual Studio,

00:13:09.160 --> 00:13:10.780
todo o meu Xamarin porque eu sou como, "Hey,

00:13:10.780 --> 00:13:11.980
Tenho duas conversas amanhã.

00:13:11.980 --> 00:13:13.720
Qual é a melhor coisa a fazer? "

00:13:13.720 --> 00:13:15.820
Atualize tudo.

00:13:15.820 --> 00:13:18.520
Não me arrependo.

00:13:18.520 --> 00:13:21.504
Então ZAPPY está no meu GitHub,

00:13:21.504 --> 00:13:23.305
é como uma árvore ou o que quer que seja.

00:13:23.305 --> 00:13:26.815
Então, este aplicativo é realmente,

00:13:26.815 --> 00:13:29.080
Eu fiz o playground coisas pequenas

00:13:29.080 --> 00:13:31.810
aplicativo durante a série 3,0
e eu realmente gostei

00:13:31.810 --> 00:13:34.150
ser capaz de batalha

00:13:34.150 --> 00:13:36.550
testar algumas dessas coisas como
Eles estavam sendo liberados.

00:13:36.550 --> 00:13:40.210
Ele também criou um pouco agradável
referência, mas era bunda feia.

00:13:40.210 --> 00:13:42.310
Eu sou como nós podemos fazer melhor do que isto.

00:13:42.310 --> 00:13:44.320
Então, que tal construirmos
um aplicativo de referência.

00:13:44.320 --> 00:13:48.160
Então ZAPPY é que o aplicativo de referência
para a série 4,0, onde eu sou apenas

00:13:48.160 --> 00:13:52.660
adicionando recursos mostrando como nós
fazer coisas, adicionando cenários.

00:13:52.660 --> 00:13:54.100
Quando eu fluxo Twitch,

00:13:54.100 --> 00:13:57.160
costumamos adicionar uma tela ou
algo para mostrar

00:13:57.160 --> 00:14:00.490
fora de alguma técnica
e nos divertir.

00:14:00.490 --> 00:14:01.690
Então isso é o que este aplicativo é.

00:14:01.690 --> 00:14:05.290
Você pode cloná-lo, você pode enviar APRs.

00:14:05.290 --> 00:14:08.979
Se você quiser ver
coisas na série,

00:14:08.979 --> 00:14:11.995
enviar um problema que vamos
trabalhar nele e ser legal.

00:14:11.995 --> 00:14:14.185
Então é nisso que estamos trabalhando,

00:14:14.185 --> 00:14:17.770
e assim eu tenho o seu típico
dicionário de recursos

00:14:17.770 --> 00:14:21.625
Aqui. Vamos ver aqui.

00:14:21.625 --> 00:14:24.580
Eu tenho alguns dos
as cores de gradiente fly-out

00:14:24.580 --> 00:14:26.425
Porque ZAPPY tem um gradiente.

00:14:26.425 --> 00:14:28.210
Claro, tudo tem gradientes.

00:14:28.210 --> 00:14:30.010
É assim que você vê
em mais gradientes,

00:14:30.010 --> 00:14:32.695
pedidos de gradientes
Sim, está de volta.

00:14:32.695 --> 00:14:35.725
A próxima coisa que teremos
bordas chanfradas e então.

00:14:35.725 --> 00:14:37.750
Você poderia fazer isso
Parece um couro?

00:14:37.750 --> 00:14:39.950
Quero que seja couro.

00:14:40.650 --> 00:14:43.675
É comum você-tudo, é comum.

00:14:43.675 --> 00:14:45.100
Quero dizer realmente WebAssembly

00:14:45.100 --> 00:14:48.655
é como a segunda vinda
do Silverlight, não é?

00:14:48.655 --> 00:14:51.610
Um pouquinho, sim.

00:14:51.610 --> 00:14:56.995
Então, claro, eu apontei
isso na minha última sessão.

00:14:56.995 --> 00:14:58.660
Quando você tem um estilo e você

00:14:58.660 --> 00:15:01.060
têm tipos que derivam
de outros tipos,

00:15:01.060 --> 00:15:04.405
Você pode usar esta propriedade
aqui se aplicam para derivar tipos.

00:15:04.405 --> 00:15:06.940
Isto é particularmente útil com

00:15:06.940 --> 00:15:09.730
a maneira que fizemos
o aliasing por casca.

00:15:09.730 --> 00:15:11.800
Então, na casca é um item de casca,

00:15:11.800 --> 00:15:14.740
Shell seção, e Shell
conteúdo, essa é a hierarquia.

00:15:14.740 --> 00:15:17.140
Mas faz um todo
muito mais sentido de ser

00:15:17.140 --> 00:15:19.390
capaz de dizer que eu quero um item fly out.

00:15:19.390 --> 00:15:20.740
Eu quero um guia.

00:15:20.740 --> 00:15:23.080
Eu quero que seja uma barra de guia
com várias abas.

00:15:23.080 --> 00:15:25.405
Esses são nomes de alias
a essas coisas,

00:15:25.405 --> 00:15:28.120
para que você possa usar
Esta propriedade para certificar-se

00:15:28.120 --> 00:15:30.970
seus estilos chegar a onde
Você espera que eles sejam.

00:15:30.970 --> 00:15:34.210
Fresco. Então isso é algo
para estar ciente e, em seguida,

00:15:34.210 --> 00:15:35.740
Eu tenho um monte de conversores para baixo

00:15:35.740 --> 00:15:37.675
aqui o que provavelmente poderia
ser seu próprio arquivo para.

00:15:37.675 --> 00:15:40.930
Assim, a forma como o theming funciona é que

00:15:40.930 --> 00:15:44.170
meu tema padrão traz
todos esses pedaços juntos.

00:15:44.170 --> 00:15:48.250
É suficientemente grande? Eu sei
como fazer isso. Não, não é isso.

00:15:48.250 --> 00:15:51.520
Eu disse que não. Lá vamos nós.

00:15:51.520 --> 00:15:53.380
Agora, tenho uma pergunta.

00:15:53.380 --> 00:15:56.575
Lá vamos nós. Isso é grande o suficiente.
Sim, você pode ver isso.

00:15:56.575 --> 00:15:59.980
Então este é o meu padrão,

00:15:59.980 --> 00:16:02.770
Ele é usado em MergedDictionaries
que é o que nós enviamos que em

00:16:02.770 --> 00:16:06.325
três algo ou foi
Ele gosta de uma coisa 25, 26?

00:16:06.325 --> 00:16:08.890
Já faz tantos anos.

00:16:08.890 --> 00:16:12.730
A plataforma continua a amadurecer e
emergente, é incrível.

00:16:12.730 --> 00:16:15.490
Então isso traz tudo
juntos e então eu

00:16:15.490 --> 00:16:18.340
Tenho o meu tema escuro
e meu tema branco.

00:16:18.340 --> 00:16:22.540
Então meu tema branco é baseado
no tema padrão.

00:16:22.540 --> 00:16:26.020
Por isso tem uma fonte de base
desse tema padrão,

00:16:26.020 --> 00:16:30.415
Mas então ele vem e
personaliza essas cores específicas.

00:16:30.415 --> 00:16:33.070
Agora aqui é onde a dinâmica
recursos coisa vem em.

00:16:33.070 --> 00:16:35.410
Você tem que dar a esses caras uma chave para

00:16:35.410 --> 00:16:37.855
que eu possa referenciar
essas cores em outro lugar,

00:16:37.855 --> 00:16:38.980
e então vamos olhar para onde

00:16:38.980 --> 00:16:42.040
que a cor de fundo é
sendo usado no meu global.

00:16:42.040 --> 00:16:46.345
Assim, a cor de fundo,

00:16:46.345 --> 00:16:50.270
Não que a cor de fundo,
o outro.

00:16:50.400 --> 00:16:54.565
"Busca", aqui vamos nós.

00:16:54.565 --> 00:16:58.030
Então, para o meu elemento Visual
estilo de fundo eu sou

00:16:58.030 --> 00:17:02.020
usá-lo aqui, usa
o DynamicResource.

00:17:02.020 --> 00:17:04.630
Então, o que o recurso dinâmico
vai fazer por você,

00:17:04.630 --> 00:17:07.795
tem consciência de basicamente
na alteração de propriedade.

00:17:07.795 --> 00:17:11.934
Então, quando essa cor ou qualquer coisa
que usa essas alterações de cor,

00:17:11.934 --> 00:17:15.175
Ele vai se certificar de que isso
alteração é refletida imediatamente.

00:17:15.175 --> 00:17:20.620
Assim, da mesma forma, aqui dentro
de que eu acredito que é um texto.

00:17:20.620 --> 00:17:23.290
Então, para o meu título de texto a cor

00:17:23.290 --> 00:17:25.930
sendo usado é a minha cor primária de texto.

00:17:25.930 --> 00:17:29.259
Então tudo em
meu tema branco está usando

00:17:29.259 --> 00:17:31.270
texto essencialmente escuro em

00:17:31.270 --> 00:17:35.800
um fundo branco e
como seria de esperar,

00:17:35.800 --> 00:17:38.275
meu tema escuro é
Basicamente o inverso,

00:17:38.275 --> 00:17:41.830
fundo escuro e texto claro.

00:17:41.830 --> 00:17:46.630
Então, vamos dar uma olhada em como isso parece.

00:17:46.630 --> 00:17:50.845
Eu não sei, eu acho que eu provavelmente
precisa reimplantar esse cara.

00:17:50.845 --> 00:17:55.240
Nós vamos em frente e fazer uma compilação
e implantar e, em seguida, vamos ter

00:17:55.240 --> 00:17:57.070
recarga quente ir e depois
Eu tenho um par de

00:17:57.070 --> 00:17:59.590
outras coisas legais para compartilhar
com você depois disso.

00:17:59.590 --> 00:18:00.670
Mas eu não fiz nenhuma mudança,

00:18:00.670 --> 00:18:04.555
Portanto, esta compilação não deve
levar até amanhã.

00:18:04.555 --> 00:18:10.550
Tenho notado que estive testando
algumas compilações internas quentes.

00:18:10.890 --> 00:18:13.210
Mas você odiaria isso quando você bateu

00:18:13.210 --> 00:18:15.595
o botão "Home" nele apenas
como ele começa a lançar,

00:18:15.595 --> 00:18:17.935
que acabou de matar o
coisa que estou implantando.

00:18:17.935 --> 00:18:19.810
Só eu, não.

00:18:19.810 --> 00:18:21.760
O que é que eu fiz?

00:18:21.760 --> 00:18:23.620
Não é este o material Maddie correu para

00:18:23.620 --> 00:18:26.275
ontem, onde
Tudo estava funcionando?

00:18:26.275 --> 00:18:41.560
Que?

00:18:41.560 --> 00:18:44.030
Isso é mentira.

00:18:46.980 --> 00:18:50.320
Isso é dizer o costume
renderizador, isso é tão estranho.

00:18:50.320 --> 00:18:52.945
Eu literalmente não fiz nada lá.

00:18:52.945 --> 00:18:55.255
Literalmente nada.

00:18:55.255 --> 00:18:58.570
Então o que você faz quando isso acontece?

00:18:58.570 --> 00:19:00.685
>> Atualização.

00:19:00.685 --> 00:19:04.490
>> Atualização. Que tal fazermos uma limpeza?

00:19:05.010 --> 00:19:11.275
O que seria interessante.
Vamos dar uma olhada.

00:19:11.275 --> 00:19:18.380
Não esse aqui. O que mudou?

00:19:20.400 --> 00:19:25.090
Vamos ver aqui o projeto
Designer, aplicativo XAML.

00:19:25.090 --> 00:19:28.000
Você vai ferrar
algo no XAML do aplicativo.

00:19:28.000 --> 00:19:31.395
Vamos olhar para ele muito rápido e

00:19:31.395 --> 00:19:32.810
Então vamos tentar
reconstruir mais uma vez

00:19:32.810 --> 00:19:34.680
e se isso não
trabalho, vamos seguir em frente.

00:19:34.680 --> 00:19:38.225
Porque eu tenho alguns outros realmente
Demos doces que são ainda melhores.

00:19:38.225 --> 00:19:41.700
Qual foi a última coisa que fizeste aqui?

00:19:41.800 --> 00:19:45.150
Não vejo problemas.

00:19:48.090 --> 00:19:52.370
Claro, seu passo vai suavemente
todas as vezes, certo?

00:19:57.750 --> 00:20:00.460
Então isso é essencialmente
vai me dar

00:20:00.460 --> 00:20:03.985
a capacidade de trocar temas.

00:20:03.985 --> 00:20:06.940
Eu vou ser capaz
para entrar em minhas configurações

00:20:06.940 --> 00:20:10.375
Painel e ver meus temas diferentes,

00:20:10.375 --> 00:20:14.300
alterá-los, e ver
minha atualização de tela imediatamente.

00:20:14.370 --> 00:20:18.290
Você pode fazer isso pouco Android.

00:20:19.800 --> 00:20:23.725
Agora, está demorando muito tempo
para construir, certo?

00:20:23.725 --> 00:20:25.345
Depois de fazer isso, limpe.

00:20:25.345 --> 00:20:28.100
O que se passa com isso?

00:20:28.260 --> 00:20:31.255
Bem, isso está acontecendo, porque eu
pode sempre voltar a ele,

00:20:31.255 --> 00:20:33.280
Quero dizer que a demo vai
ter que trabalhar, porque

00:20:33.280 --> 00:20:36.190
realmente tem como
todas as melhores demos nele.

00:20:36.190 --> 00:20:38.680
Então vamos falar por
um minuto sobre gradientes

00:20:38.680 --> 00:20:41.455
e formas enquanto isso está acontecendo.

00:20:41.455 --> 00:20:45.310
Como os gradientes estão se tornando
tão fedor e popular,

00:20:45.310 --> 00:20:49.495
como você pode fazer isso? Bem
Você tem algumas opções.

00:20:49.495 --> 00:20:52.630
Olha, ali está o meu pequeno emulador.

00:20:52.630 --> 00:20:54.910
Você não pode ver o meu emulador porque
é na outra tela,

00:20:54.910 --> 00:20:56.140
Mas é tão pequeno.

00:20:56.140 --> 00:20:59.420
Tudo bem, estamos de volta. Aqui vamos nós.

00:20:59.850 --> 00:21:04.330
Saia da apresentação de slides. Você pode fazer isso.

00:21:04.330 --> 00:21:07.060
Está vendo isso? Você pode ver isso.

00:21:07.060 --> 00:21:10.240
Vamos voltar para o código para que você
pode ver que está funcionando. Está bem.

00:21:10.240 --> 00:21:14.035
Então eu criei uma página dentro
ZAPPY chamou um guia de estilo.

00:21:14.035 --> 00:21:16.390
Então eu peguei todas as minhas cores e eu

00:21:16.390 --> 00:21:18.955
jogá-los nessa exibição de coleção.

00:21:18.955 --> 00:21:21.520
Então eu tenho uma visão de coleção que é

00:21:21.520 --> 00:21:25.930
quatro linhas de abrangência e
Então atravessa.

00:21:25.930 --> 00:21:31.930
Assim, a vista de coleção ainda está em
Preview, mas é em 4,1 estável,

00:21:31.930 --> 00:21:33.175
Então, se você optar por usá-lo,

00:21:33.175 --> 00:21:35.140
está disponível para você.

00:21:35.140 --> 00:21:36.430
Eu adoraria saber
como você se sente sobre

00:21:36.430 --> 00:21:37.720
-nos a fazer recursos como esse.

00:21:37.720 --> 00:21:39.130
Basicamente, cozê-los e

00:21:39.130 --> 00:21:41.080
trabalhando neles e
adicionando recursos a eles

00:21:41.080 --> 00:21:44.875
enquanto eles estão em lançamentos estáveis
Mas colocando-os atrás das bandeiras.

00:21:44.875 --> 00:21:48.610
Então estamos procurando você para
Diga-nos como as coisas estão indo.

00:21:48.610 --> 00:21:50.230
Então não agora,

00:21:50.230 --> 00:21:53.005
Não todos se levantar
e vá para o microfone.

00:21:53.005 --> 00:21:55.750
Tudo bem, então neste aplicativo,

00:21:55.750 --> 00:21:56.980
Você vê que eu tenho um gradiente que estamos

00:21:56.980 --> 00:21:58.450
Vou falar em apenas um segundo.

00:21:58.450 --> 00:22:01.215
Mas então eu tenho
essas configurações visuais aqui,

00:22:01.215 --> 00:22:04.770
e então eu tenho
Este switcher leve e escuro.

00:22:04.770 --> 00:22:06.150
Então isso é, na verdade,

00:22:06.150 --> 00:22:08.460
e eu vou acrescentar
outros temas também.

00:22:08.460 --> 00:22:12.120
Fuchsia tem sido recomendado
como um estilo de tema.

00:22:12.120 --> 00:22:13.740
Não sei porquê.

00:22:13.740 --> 00:22:16.050
Mas Squeaky realmente gosta,

00:22:16.050 --> 00:22:17.610
Alguém já foi para sessões Squeaky

00:22:17.610 --> 00:22:19.360
Esta semana, ouvi dizer que ela está lá.

00:22:19.360 --> 00:22:21.010
Ela é ótima, não é?

00:22:21.010 --> 00:22:23.815
Então ela ama o fúcsia.

00:22:23.815 --> 00:22:27.355
Está bem. Então, há o meu escuro.

00:22:27.355 --> 00:22:32.200
Aqui está a minha luz. Luz, brilhante.

00:22:32.200 --> 00:22:34.045
Sim, então eu vou escurecer.

00:22:34.045 --> 00:22:36.310
Eu fecho esse cara

00:22:36.310 --> 00:22:39.970
e você vê que a minha tela
aqui atrás agora está escuro também.

00:22:39.970 --> 00:22:43.690
Assim, a maneira em que
que o interruptor que ocorre,

00:22:43.690 --> 00:22:46.690
Se formos para

00:22:46.690 --> 00:22:56.180
Minhas configurações ViewModel aqui.

00:22:56.400 --> 00:23:01.705
Então eu tenho um comando de mudança de tema,
vai aparecer.

00:23:01.705 --> 00:23:09.640
O tema selecionado está vinculado
ao item selecionado.

00:23:09.640 --> 00:23:11.395
Vês o meu cursor? Aqui de novo.

00:23:11.395 --> 00:23:12.925
Então, a luz e o escuro,

00:23:12.925 --> 00:23:14.200
que é realmente uma vista de coleção,

00:23:14.200 --> 00:23:16.900
é uma horizontal
deslizando a vista da coleção.

00:23:16.900 --> 00:23:20.630
Aliás, bem
e eu vou fazer isso a seguir.

00:23:20.790 --> 00:23:26.305
Sim, então eu estou ouvindo o
tema selecionado como o item selecionado,

00:23:26.305 --> 00:23:27.805
e, em seguida, com base nisso,

00:23:27.805 --> 00:23:29.890
Eu vou para o meu novo tema escuro ou

00:23:29.890 --> 00:23:33.445
meu tema branco e aplicá-lo
aos recursos atuais do meu aplicativo.

00:23:33.445 --> 00:23:35.155
Você vê o quão rápido isso funcionou,

00:23:35.155 --> 00:23:36.430
e você vê que eu não tenho

00:23:36.430 --> 00:23:38.590
uma pequena quantidade de recursos lá,

00:23:38.590 --> 00:23:40.075
é um pouco de coisas.

00:23:40.075 --> 00:23:42.220
Então isso funciona muito bem.

00:23:42.220 --> 00:23:44.590
Agora, essa é uma maneira de
que você pode fazê-lo.

00:23:44.590 --> 00:23:47.005
Você pode certamente tentar e
muitas outras maneiras de fazê-lo.

00:23:47.005 --> 00:23:49.360
Todo esse código está no meu GitHub,

00:23:49.360 --> 00:23:52.315
experimentá-lo, eu adoraria
saber o que você pensa.

00:23:52.315 --> 00:23:54.760
Sim. Então eu pensei que
que foi super fácil.

00:23:54.760 --> 00:23:56.650
Foi muito mais fácil do que eu
Pensei que ia ser,

00:23:56.650 --> 00:23:59.305
e eu sinto como agora
Eu sou um pro [inaudível].

00:23:59.305 --> 00:24:00.745
Eu sinto como se eu tivesse,

00:24:00.745 --> 00:24:02.320
Ninguém pode me deter agora.

00:24:02.320 --> 00:24:05.590
Fúcsia está chegando.
O fúcsia é agora.

00:24:05.590 --> 00:24:11.020
Oh rapaz. Está bem

00:24:11.020 --> 00:24:12.880
Então vamos falar sobre esse gradiente.

00:24:12.880 --> 00:24:16.435
Então, como podemos fazer gradientes?

00:24:16.435 --> 00:24:18.310
Então, código nativo, claro.

00:24:18.310 --> 00:24:20.140
SkiaSharp, você tem uma tela,

00:24:20.140 --> 00:24:23.560
Você pode desenhar seus gradientes
sobre isso ou a vista de panqueca.

00:24:23.560 --> 00:24:25.315
Qualquer pessoa familiarizada com
a vista Pancake?

00:24:25.315 --> 00:24:27.400
Me deixa com fome a cada
vez que eu falar sobre isso.

00:24:27.400 --> 00:24:30.760
Então Stephen [inaudível]
dos Países Baixos,

00:24:30.760 --> 00:24:33.580
que não está aqui como temos
mencionado várias vezes,

00:24:33.580 --> 00:24:36.025
nenhuma vergonha para você Stephen
por não estar aqui.

00:24:36.025 --> 00:24:38.440
Vamos todos ter um infomercial
para o Stephen agora.

00:24:38.440 --> 00:24:41.260
Stephen, eu sei que você está
chorando em casa direito

00:24:41.260 --> 00:24:44.485
Agora que você não foi capaz de
fazê-lo para a Cimeira Zam dev,

00:24:44.485 --> 00:24:49.100
Mas você sabe o que você fez de errado.

00:24:51.060 --> 00:24:54.235
Acho que ele está de férias em família.
ou algo assim, de qualquer maneira.

00:24:54.235 --> 00:24:56.485
Está bem, vês?

00:24:56.485 --> 00:24:59.950
Eu sou uma oportunidade igual
selecionador em pessoas.

00:24:59.950 --> 00:25:02.530
Então, essas são opções
que você pode usar.

00:25:02.530 --> 00:25:06.205
Pancake View é realmente
quase um quadro glorificado.

00:25:06.205 --> 00:25:07.390
Essencialmente, é como o quadro em

00:25:07.390 --> 00:25:09.205
esteroides se você chegar
um bom olhar para ele.

00:25:09.205 --> 00:25:12.385
Mas muito útil e poderia ser
algo que você deseja usar.

00:25:12.385 --> 00:25:15.590
Mas como você faria se
Você queria fazer isso sozinho?

00:25:16.100 --> 00:25:20.760
Oh, me desculpe, não estamos falando
sobre o tema gradiente, mas formas.

00:25:20.760 --> 00:25:22.170
Você tem um monte de opções para formas.

00:25:22.170 --> 00:25:24.090
Não vamos gastar
muito tempo em formas.

00:25:24.090 --> 00:25:26.610
Realmente, SkiaSharp para o desenho é amável

00:25:26.610 --> 00:25:29.285
do seu melhor ir para
plataforma cruzada para isso.

00:25:29.285 --> 00:25:31.555
Muito poderoso, muito performer.

00:25:31.555 --> 00:25:36.160
Eu vi alguns exemplos de você
que são muito surpreendente.

00:25:36.160 --> 00:25:39.700
Eu não sei o que este lisonjear
negócio é tudo.

00:25:39.700 --> 00:25:41.815
Você pode fazê-lo em C#.

00:25:41.815 --> 00:25:43.885
Você pode fazê-lo com
SkiaSharp. É lindo.

00:25:43.885 --> 00:25:46.180
Animação é super fácil.

00:25:46.180 --> 00:25:47.890
Mas você pode usar bitmaps.

00:25:47.890 --> 00:25:50.095
Isso é algo que fica
negligenciado muito, certo?

00:25:50.095 --> 00:25:51.850
Se você tem um projeto e tem como

00:25:51.850 --> 00:25:53.590
Esta forma realmente interessante para ele,

00:25:53.590 --> 00:25:55.540
Se você vai olhar para
o desafio Visual,

00:25:55.540 --> 00:25:58.015
Olha o que Ryan Davis fez
no aplicativo Quantize,

00:25:58.015 --> 00:26:01.840
no cabeçalho tem este pequeno
entalhe com uma curva agradável a ele.

00:26:01.840 --> 00:26:03.925
É realmente apenas uma imagem
em segundo plano.

00:26:03.925 --> 00:26:07.060
Então, às vezes, quando você
olhar para uma coisa Visual,

00:26:07.060 --> 00:26:08.830
Você é como eu sou
vai conseguir isso?

00:26:08.830 --> 00:26:10.870
Isso afeta ou que

00:26:10.870 --> 00:26:14.275
layout ou eu não tenho um controle
que faz exatamente isso.

00:26:14.275 --> 00:26:16.270
Talvez não seja tão difícil como você pensa.

00:26:16.270 --> 00:26:18.490
Talvez o segundo pensamento
Você deve ter é como pode

00:26:18.490 --> 00:26:21.100
Eu faço isso de verdade, mas
Como posso fingir?

00:26:21.100 --> 00:26:24.640
Como se eu fosse fingir
e apenas fazer parecer que é,

00:26:24.640 --> 00:26:26.665
Então como eu poderia fazer isso,

00:26:26.665 --> 00:26:29.875
e às vezes é tão simples
como apenas incorporar uma imagem.

00:26:29.875 --> 00:26:31.585
Acho que está tudo bem.

00:26:31.585 --> 00:26:33.160
Os usuários não sabem.

00:26:33.160 --> 00:26:35.305
Como Oh, ele realmente desenhou isso?

00:26:35.305 --> 00:26:37.165
Se o desenvolvedor não desenhou isso,

00:26:37.165 --> 00:26:39.235
Este aplicativo é uma porcaria.

00:26:39.235 --> 00:26:40.990
Não é assim que vai ser.

00:26:40.990 --> 00:26:42.415
Eu não sei. Está bem.

00:26:42.415 --> 00:26:44.530
Imagens vetoriais, é claro, SVGs,

00:26:44.530 --> 00:26:47.305
Existem diferentes controladores
Você pode carregar seus SVGs em.

00:26:47.305 --> 00:26:49.090
Então eu acho que já mencionei

00:26:49.090 --> 00:26:51.115
desenho em SkiaSharp ou código nativo.

00:26:51.115 --> 00:26:52.780
Você pode desenhar em código nativo.

00:26:52.780 --> 00:27:02.500
Então gradientes e demos, legal.

00:27:02.500 --> 00:27:04.960
Bem, eu vou te mostrar primeiro como
Eu faço o gradiente neste

00:27:04.960 --> 00:27:07.630
alguns voam para fora, ok.

00:27:07.630 --> 00:27:10.135
Então este é o Shell render.

00:27:10.135 --> 00:27:11.680
Então, se formos aqui,

00:27:11.680 --> 00:27:13.825
Eu estou fazendo Android.

00:27:13.825 --> 00:27:16.645
Então, vamos olhar para o projeto Android,

00:27:16.645 --> 00:27:19.705
Tenho os meus renderizadores e eu
Tenho o meu escudo ZAPPY render.

00:27:19.705 --> 00:27:28.970
Está bem. Então aqui embaixo quando eu chegar
meu conteúdo layout prateleira render.

00:27:29.970 --> 00:27:33.580
Ok, podemos ver isso, legal.

00:27:33.580 --> 00:27:37.840
Então eu consigo, eu crio
um gradiente [inaudível],

00:27:37.840 --> 00:27:40.960
Eu agarro, aviso, agarrei

00:27:40.960 --> 00:27:44.170
minhas cores, porque eu tenho
Tenho o meu tema app aqui.

00:27:44.170 --> 00:27:46.179
Esta é uma injeção de dependência,

00:27:46.179 --> 00:27:48.890
Isso está vindo de meus recursos.

00:27:48.890 --> 00:27:50.550
Mostrei-te nos meus recursos,

00:27:50.550 --> 00:27:53.580
meu arquivo global, que eu tinha
um início de gradiente e terminar a cor.

00:27:53.580 --> 00:27:56.255
Acabei de mencionar isso de passagem.

00:27:56.255 --> 00:27:59.920
Então eu recebo a minha dependência para o meu serviço

00:27:59.920 --> 00:28:03.055
de modo que aqui em baixo quando eu definir isso,

00:28:03.055 --> 00:28:05.155
Eu posso configurá-lo para as cores que foram

00:28:05.155 --> 00:28:08.170
estabelecido no meu código compartilhado.

00:28:08.170 --> 00:28:13.405
Então eu estava apenas falando
para alguém sobre isso,

00:28:13.405 --> 00:28:16.390
Nós usamos a visão do coordenador que é

00:28:16.390 --> 00:28:19.480
a visão que nos permite fazer
algumas animações realmente interessantes,

00:28:19.480 --> 00:28:22.030
Se você já viu qualquer animações herói ou

00:28:22.030 --> 00:28:24.760
alguns dos mais avançados
animações baseadas em design de material.

00:28:24.760 --> 00:28:27.400
Muitos deles são baseados
na visão do coordenador,

00:28:27.400 --> 00:28:31.120
e Shell usa-lo para
um pouco do trabalho.

00:28:31.120 --> 00:28:34.525
É por isso que tenho sido
incentivar as pessoas a usarem o Shell

00:28:34.525 --> 00:28:36.340
Porque é a base para nós sermos

00:28:36.340 --> 00:28:38.575
capaz de acrescentar essas coisas mais facilmente,

00:28:38.575 --> 00:28:42.475
Eu sei que as transições podem ser
uma dor enorme para fazer o contrário.

00:28:42.475 --> 00:28:44.860
Então você certamente não
tem que usar o Shell.

00:28:44.860 --> 00:28:46.900
Eu não quero te enviar
a mensagem de que se você não

00:28:46.900 --> 00:28:49.150
usar shell você está de alguma forma
na idade das trevas.

00:28:49.150 --> 00:28:51.910
Você é bom, você ama
suas páginas de navegação,

00:28:51.910 --> 00:28:53.785
suas páginas de tabulação,
páginas de detalhes mestras,

00:28:53.785 --> 00:28:55.030
Tudo o que ainda é bom,

00:28:55.030 --> 00:28:57.010
Eles não vão a lugar nenhum,

00:28:57.010 --> 00:28:59.380
Não é história de brinquedo
que não está sendo enviado para

00:28:59.380 --> 00:29:03.610
o orfanato ou qualquer coisa.

00:29:03.610 --> 00:29:05.935
Não era um orfanato,
é como uma coisa de creche.

00:29:05.935 --> 00:29:07.300
Não, não no novo filme,

00:29:07.300 --> 00:29:10.525
Isto é como três,
o realmente triste.

00:29:10.525 --> 00:29:12.760
Sim, os novos
como deveria ser

00:29:12.760 --> 00:29:14.920
bom e eu tenho certeza que ainda é
triste, eu ouvi as pessoas chorarem.

00:29:14.920 --> 00:29:16.840
Não vou chorar. Haverá

00:29:16.840 --> 00:29:20.665
sem lágrimas vindo de
esses olhos, tanto quanto você sabe.

00:29:20.665 --> 00:29:27.700
Tudo bem, isso é bananas.

00:29:27.700 --> 00:29:30.745
Então eu recebo o layout do coordenador,

00:29:30.745 --> 00:29:33.670
Eu defini o fundo para ele aqui,

00:29:33.670 --> 00:29:37.090
e aqui eu defini-lo para transparente

00:29:37.090 --> 00:29:38.560
Porque há
algumas outras coisas que colocam

00:29:38.560 --> 00:29:40.285
na parte superior dele com a barra de aplicativos.

00:29:40.285 --> 00:29:42.600
Então eu quero fazer
certeza de que o meu gradiente

00:29:42.600 --> 00:29:44.985
vai todo o caminho de
o fundo para o topo,

00:29:44.985 --> 00:29:49.680
Porque aqui no topo alguns
de que é realmente barra de aplicativos.

00:29:49.680 --> 00:29:51.600
Sim, então isso é muito bonito,

00:29:51.600 --> 00:29:52.770
e é assim que eu estou
recebendo meu gradiente.

00:29:52.770 --> 00:29:55.060
Então eu estou usando código nativo
lá para fazer isso.

00:29:55.060 --> 00:29:58.000
Agora, vamos olhar para outro exemplo,

00:29:58.000 --> 00:30:01.195
e este é de Ciro.

00:30:01.195 --> 00:30:02.920
Ciro está na França,

00:30:02.920 --> 00:30:04.990
Paris ele fez uma transmissão ao vivo comigo em

00:30:04.990 --> 00:30:07.440
Twitch onde ele construiu uma tela de login.

00:30:07.440 --> 00:30:11.345
Então eu tenho outra versão
de zap aberto aqui,

00:30:11.345 --> 00:30:15.550
onde ele criou
uma vista de botão de gradiente

00:30:15.550 --> 00:30:18.175
ou um plano de fundo gradiente
modo de exibição e um botão de gradiente.

00:30:18.175 --> 00:30:21.740
Então, se olharmos para o que ele fez aqui,

00:30:22.200 --> 00:30:25.015
e eu vou executar esta demo em breve.

00:30:25.015 --> 00:30:26.830
Então, no fundo da grade, ele

00:30:26.830 --> 00:30:29.530
tem este controle personalizado
da vista de gradiente.

00:30:29.530 --> 00:30:31.330
Ele está agarrando esse começo em

00:30:31.330 --> 00:30:34.555
que o estilo final, assim como eu mencionei
dos recursos estáticos,

00:30:34.555 --> 00:30:36.385
e colocando-o aqui.

00:30:36.385 --> 00:30:38.860
Então, se olharmos para o que
que a vista de gradiente

00:30:38.860 --> 00:30:42.145
é que é como você faria
esperar uma renderização personalizada.

00:30:42.145 --> 00:30:46.180
Então, quando você descer para
o código Android ou o código iOS,

00:30:46.180 --> 00:30:49.495
Tudo o que faz é Desenha
um gradiente e envia-lo de volta.

00:30:49.495 --> 00:30:52.360
Então aqui está o código do Android
para a vista de gradiente.

00:30:52.360 --> 00:30:56.664
Neste caso, é
um renderizador de elemento visual,

00:30:56.664 --> 00:30:59.455
e vai criar
um gradiente linear,

00:30:59.455 --> 00:31:03.115
fazer a pintura e, em seguida,
desenhá-lo em uma tela.

00:31:03.115 --> 00:31:06.610
Em seguida, você pode fazer o
mesma coisa em um botão aqui.

00:31:06.610 --> 00:31:09.415
Então eu posso ter um botão
que está acostumado botão,

00:31:09.415 --> 00:31:11.350
Não um botão real,

00:31:11.350 --> 00:31:12.715
é um botão falso.

00:31:12.715 --> 00:31:14.770
A única diferença entre
um botão falso e um botão real

00:31:14.770 --> 00:31:17.770
é o que você chamá-lo, ainda botões.

00:31:17.770 --> 00:31:20.530
Você pode declará-los todos como

00:31:20.530 --> 00:31:22.240
elementos interativos, em seguida,
Você vai ter todos os

00:31:22.240 --> 00:31:24.475
benefícios de acessibilidade
que você deve,

00:31:24.475 --> 00:31:27.505
para que você possa usá-lo aqui também.

00:31:27.505 --> 00:31:29.545
Então, se nós executarmos isso,

00:31:29.545 --> 00:31:31.900
vê-lo lançar um erro
como o último.

00:31:31.900 --> 00:31:34.400
Eu desafio você a jogar um erro,

00:31:34.500 --> 00:31:39.415
nunca falar com o seu código
assim, eu te desafio.

00:31:39.415 --> 00:31:41.620
É como uma pessoa que é

00:31:41.620 --> 00:31:47.960
significam as mesmas pessoas apenas
articularam suas telas.

00:31:48.330 --> 00:31:51.650
Sabe o que é esse gesto?

00:31:55.590 --> 00:31:58.790
Tudo bem, então aqui vem.

00:32:01.530 --> 00:32:05.620
Então uma das coisas que eu estive
falando, Oh, há um erro.

00:32:05.620 --> 00:32:06.880
É o mesmo erro,

00:32:06.880 --> 00:32:13.120
Olha isso, inacreditável.

00:32:13.120 --> 00:32:15.415
Então, como você arquivo um bug para isso?

00:32:15.415 --> 00:32:17.515
Quero dizer, o bug basicamente diria,

00:32:17.515 --> 00:32:20.455
Eu corri no meu quarto de Hotel,

00:32:20.455 --> 00:32:24.925
Eu fecho a tampa, "Eu fui lá embaixo,

00:32:24.925 --> 00:32:27.609
Esperei cerca de duas horas,

00:32:27.609 --> 00:32:30.490
Liguei a máquina de volta em

00:32:30.490 --> 00:32:36.145
e então não funcionou ", e
Isso é literalmente o que aconteceu.

00:32:36.145 --> 00:32:41.725
Eu não sei. Estou limpando,

00:32:41.725 --> 00:32:44.260
Não é o que eu fiz da última vez,
Acabei de limpar e reiniciá-lo.

00:32:44.260 --> 00:32:46.285
Eu não reiniciei o ID.

00:32:46.285 --> 00:32:47.380
Eu não fiz a dança completa,

00:32:47.380 --> 00:32:53.320
Acabei de me desculpar.

00:32:53.320 --> 00:32:55.585
Eu ia fazer
como uma piada de dança,

00:32:55.585 --> 00:32:57.055
como se eu não fizesse o movimento completo,

00:32:57.055 --> 00:33:02.500
Eu fiz Break Dance algo.

00:33:02.500 --> 00:33:06.610
Alguém se lembra
quebrando dos anos 80.

00:33:06.610 --> 00:33:08.620
>> [inaudível].

00:33:08.620 --> 00:33:11.095
. >> Todos eles homem, todos eles.

00:33:11.095 --> 00:33:13.730
Foi assim que machucou o pé?

00:33:14.520 --> 00:33:16.360
>> Bem, sim.

00:33:16.360 --> 00:33:18.145
>> Isso é o que você alega,

00:33:18.145 --> 00:33:21.680
Mas você pode ter tentado
para recuperar os dias de glória.

00:33:21.750 --> 00:33:27.475
Certo, ainda estamos nos movendo.
Ainda não quebrou, estamos bem.

00:33:27.475 --> 00:33:28.990
Isso só nos dá mais tempo para

00:33:28.990 --> 00:33:31.330
falar sobre essas coisas,
Isso é útil até agora?

00:33:31.330 --> 00:33:32.680
São coisas interessantes?

00:33:32.680 --> 00:33:34.510
Coisas que desafiam
que você pode ter

00:33:34.510 --> 00:33:37.404
enfrentados recentemente ou no futuro,

00:33:37.404 --> 00:33:39.505
enfrentaremos no futuro.

00:33:39.505 --> 00:33:44.680
Falando do futuro, ninguém
visto escuro, escuro na Netflix?

00:33:44.680 --> 00:33:47.350
Eu sei que parece que eu
coisa de rapto de crianças com base

00:33:47.350 --> 00:33:50.750
sobre o como o-que é
Não é sobre o que é.

00:33:50.970 --> 00:33:54.865
É como um Sci-Fi coisa,
Está tudo em alemão.

00:33:54.865 --> 00:33:56.575
Você pode trabalhar em seu alemão.

00:33:56.575 --> 00:34:02.065
Tudo bem, lá vamos nós.

00:34:02.065 --> 00:34:05.200
Vamos, desista.
para o Visual Studio,

00:34:05.200 --> 00:34:09.710
O Visual Studio ganhando dinheiro.

00:34:10.710 --> 00:34:14.440
Então, há um par de coisas legais

00:34:14.440 --> 00:34:17.260
acontecendo aqui é claro que você vê
os gradientes que eu mencionei,

00:34:17.260 --> 00:34:19.345
um pouco de
um gradiente no botão.

00:34:19.345 --> 00:34:23.500
Então você tem essa bela animação
transição acontecendo aqui.

00:34:23.500 --> 00:34:26.350
Então isso não é um verdadeiro
segmento de controle,

00:34:26.350 --> 00:34:29.080
é um segmento falso para controlar.

00:34:29.080 --> 00:34:32.260
A única diferença entre
um segmento real para controlar e

00:34:32.260 --> 00:34:36.265
um segmento de figo para controlar
É? O que você chama isso.

00:34:36.265 --> 00:34:40.340
Quando seu chefe diz, sempre tem
segmento pode mostrar-lhe, dizer sim.

00:34:41.250 --> 00:34:45.850
É como parece, sim.

00:34:45.850 --> 00:34:48.100
Então, alguns transistores cool têm
esteve lá e você notou

00:34:48.100 --> 00:34:55.870
a ondulação da cauda de Octocats,
que é um Lottie.

00:34:55.870 --> 00:34:58.540
Assim, um Lottie é uma biblioteca de

00:34:58.540 --> 00:35:02.830
Airbnb que eles abrem de origem
e você pode usar, o que é,

00:35:02.830 --> 00:35:07.390
Adobe após efeitos,

00:35:07.390 --> 00:35:10.014
e com uma pequena extensão
que você pode instalar,

00:35:10.014 --> 00:35:12.505
e você pode gerar suas animações.

00:35:12.505 --> 00:35:15.490
Estou muito triste que eles realmente
Não permitem que você faça isso

00:35:15.490 --> 00:35:18.640
do Adobe Flash ou animar
ou o que eles chamam agora,

00:35:18.640 --> 00:35:22.150
Porque eu seria a sua maneira
após efeitos, mas o que quer.

00:35:22.150 --> 00:35:27.220
Sim. Então, Martin Van Dyke, que
estava correndo por aqui,

00:35:27.220 --> 00:35:29.200
Ele ainda pode estar por aqui,

00:35:29.200 --> 00:35:31.450
a implementação do C-Sharp

00:35:31.450 --> 00:35:32.920
e ele mantém
o pacote para isso.

00:35:32.920 --> 00:35:38.605
Então vá agradecê-lo por
o Octocat, legal.

00:35:38.605 --> 00:35:41.410
Então gradientes cool,

00:35:41.410 --> 00:35:43.450
e você vê que eu tenho material

00:35:43.450 --> 00:35:45.445
trabalhando aqui e
Tudo o resto também,

00:35:45.445 --> 00:35:47.950
Eu vou dar-lhe um olhar rápido
como esta animação funciona.

00:35:47.950 --> 00:35:49.750
Isso também está no meu GitHub,

00:35:49.750 --> 00:35:51.370
Mas emerge como RP,

00:35:51.370 --> 00:35:54.640
é por isso que é um projeto separado
Agora, porque eu só

00:35:54.640 --> 00:35:59.150
Peguei esta manhã,
que ainda está bem.

00:35:59.280 --> 00:36:01.960
Assim, a página de login é

00:36:01.960 --> 00:36:04.600
apenas o seu simples
XAML como seria de esperar,

00:36:04.600 --> 00:36:06.340
Eu posso fazer isso um pouco maior,

00:36:06.340 --> 00:36:10.640
Posso dar-lhe este
ou fazer isso, não isso.

00:36:10.640 --> 00:36:14.620
Qualquer um nunca acidentalmente
apertar o botão ali?

00:36:15.120 --> 00:36:20.995
Não bata nisso. Sim, então.
realmente nada de fantasia acontecendo aqui.

00:36:20.995 --> 00:36:22.840
Você vê que há
são essas animações

00:36:22.840 --> 00:36:24.625
Mas esses não estão sendo feitos em XAML.

00:36:24.625 --> 00:36:28.105
Eu vou te mostrar como
fazê-los em XAML em um minuto.

00:36:28.105 --> 00:36:34.555
Então, se olharmos para a parte de trás e
a opção selector toca,

00:36:34.555 --> 00:36:37.720
Este é o evento Tap
sobre esse cara aqui.

00:36:37.720 --> 00:36:40.240
Isto é o que está desencadeando
as animações.

00:36:40.240 --> 00:36:41.740
Está fazendo algumas traduções,

00:36:41.740 --> 00:36:45.520
para traduzir é
apenas um método de animação auxiliar.

00:36:45.520 --> 00:36:48.880
Ele ainda está usando
APIs de animação no back-end.

00:36:48.880 --> 00:36:52.570
Você também tem fade Too
e coisas assim.

00:36:52.570 --> 00:36:56.440
Então você pode fazer alguns esperam
tarefa e agrupe alguma animação.

00:36:56.440 --> 00:37:00.580
Então ele faz tanto a tradução
e o fade também ao mesmo tempo.

00:37:00.580 --> 00:37:04.480
Então, é claro, você pode gerenciar em
visibilidade e coisas assim.

00:37:04.480 --> 00:37:06.715
Então você pode fazer
sua animação desta forma.

00:37:06.715 --> 00:37:08.830
Certamente, nada de errado com ele,

00:37:08.830 --> 00:37:11.005
Mas eu também vou mostrar
você como você pode fazê-lo

00:37:11.005 --> 00:37:14.830
em XAML. Tudo bem, legal.

00:37:14.830 --> 00:37:20.665
Então isso é gradientes
e formas, Parallax.

00:37:20.665 --> 00:37:24.445
Acho que este é o meu último
ou segundo a última demo.

00:37:24.445 --> 00:37:28.525
Eu realmente tenho
uma demo extra, então veremos.

00:37:28.525 --> 00:37:30.550
Tudo bem, então Parallax.

00:37:30.550 --> 00:37:32.485
Então aqui está o que
acontecendo com Parallax.

00:37:32.485 --> 00:37:36.535
Eu fiz vista explodida do que
Eu vou te mostrar.

00:37:36.535 --> 00:37:39.745
Por acaso, não,
Já está aqui.

00:37:39.745 --> 00:37:41.920
Vamos em frente e
construí-lo e executá-lo,

00:37:41.920 --> 00:37:45.220
de modo que nós não corremos em
o mesmo problema que tínhamos anteriormente.

00:37:45.220 --> 00:37:46.630
Este é o exemplo de página de login.

00:37:46.630 --> 00:37:48.800
Não preciso disso, vamos fechá-lo.

00:37:49.080 --> 00:37:52.180
Se eu vier aqui,

00:37:52.180 --> 00:37:55.345
Build Run ir, tudo bem.

00:37:55.345 --> 00:37:58.750
Mas você não viu nenhum
disso. Não há problema.

00:37:58.750 --> 00:38:01.120
Apenas no edifício,
construção e execução.

00:38:01.120 --> 00:38:04.900
Então o que você tem é você
têm diferentes camadas de

00:38:04.900 --> 00:38:08.830
coisas e grade é realmente um grande
maneira de ter camadas diferentes.

00:38:08.830 --> 00:38:13.375
Então, como as coisas precisam
span linhas ou span colunas,

00:38:13.375 --> 00:38:14.710
Você usa o span.

00:38:14.710 --> 00:38:18.280
Portanto, uma extensão de coluna de span de linha,
Esse tipo de coisa.

00:38:18.280 --> 00:38:22.315
Eu enganei a desculpa.

00:38:22.315 --> 00:38:27.805
Então, por que você executar esse código?

00:38:27.805 --> 00:38:31.835
Esse não é o código certo, tão estranho.

00:38:31.835 --> 00:38:33.900
Quero dizer, é o mesmo projeto,

00:38:33.900 --> 00:38:35.340
Mas a execução em
dois diretórios diferentes.

00:38:35.340 --> 00:38:37.860
Mas eu acho que ele faz
gerar o mesmo binário.

00:38:37.860 --> 00:38:41.340
Então isso é muito estranho. Está bem.

00:38:41.340 --> 00:38:43.470
Então deixe-me limpar isso rapidinho.

00:38:43.470 --> 00:38:49.120
Construa limpo, construa limpo,

00:38:49.120 --> 00:38:51.040
limpar tudo, limpou tudo.

00:38:51.040 --> 00:38:54.130
Agora, como meus filhos, não apenas
enfiar as coisas no armário,

00:38:54.130 --> 00:38:59.110
limpo em tudo. Fresco. Está bem.

00:38:59.110 --> 00:39:01.750
Então o que vai acontecer é,

00:39:01.750 --> 00:39:07.150
Nós vamos mover
a lista de conteúdos,

00:39:07.150 --> 00:39:09.190
Mas nós vamos mover o cabeçalho,

00:39:09.190 --> 00:39:12.475
a imagem de fundo em
uma taxa diferente de

00:39:12.475 --> 00:39:14.530
o conteúdo que o usuário está

00:39:14.530 --> 00:39:17.575
interagir com isso
cria o efeito Parallax.

00:39:17.575 --> 00:39:19.060
Então, a fim de fazer isso,

00:39:19.060 --> 00:39:20.650
Precisamos ser capazes de ouvir

00:39:20.650 --> 00:39:25.300
os dados de rolagem fora do
coisa com a qual estou interagindo.

00:39:25.300 --> 00:39:29.710
Então, tradicionalmente, isso é o que tem
causou problemas para os desenvolvedores.

00:39:29.710 --> 00:39:32.800
No Xamarin Forms, é
que nem todas as coisas

00:39:32.800 --> 00:39:36.100
que rolar no Xamarin Forms
dizer que eles estão rolando.

00:39:36.100 --> 00:39:38.320
Agora ScrollView tem

00:39:38.320 --> 00:39:39.910
um método OnScroll ou

00:39:39.910 --> 00:39:42.880
um evento que irá despachar
como o usuário rola,

00:39:42.880 --> 00:39:45.085
assim você pode segurar
isso e código para trás.

00:39:45.085 --> 00:39:47.530
Mas eu não quero fazer
que e código para trás,

00:39:47.530 --> 00:39:50.590
Porque o Hot reload do XAML
está recarregando o XAML,

00:39:50.590 --> 00:39:52.165
Não está recarregando o código para trás.

00:39:52.165 --> 00:39:54.925
Quero ficar em XAML
tanto quanto possível.

00:39:54.925 --> 00:39:58.420
Para que eu obtenha o pleno
benefício do recarregamento.

00:39:58.420 --> 00:40:03.790
Então o que acontece aqui,
vai fazer isso.

00:40:03.790 --> 00:40:06.580
Agora, aquele pequeno bar

00:40:06.580 --> 00:40:09.655
Existe um representante
da barra de navegação.

00:40:09.655 --> 00:40:13.060
Então nós também vamos
fazer uma barra de navegação falsa,

00:40:13.060 --> 00:40:15.430
e uma vez que você vê a animação
Você saberá o porquê.

00:40:15.430 --> 00:40:18.745
Então aqui estão os ingredientes
para fazer isso acontecer.

00:40:18.745 --> 00:40:21.280
Eu preciso ter alguns
posição de rolagem ou rolar

00:40:21.280 --> 00:40:25.210
percentual fora do qual eu posso
acionar minhas outras animações.

00:40:25.210 --> 00:40:27.265
Preciso de ligações,

00:40:27.265 --> 00:40:31.510
para que eu possa fazer tudo e reagir
a ele apropriadamente em XAML.

00:40:31.510 --> 00:40:35.319
Então eu uso liberalmente
conversores de valor,

00:40:35.319 --> 00:40:38.965
para que eu possa aplicar os diferentes
efeitos que eu quero.

00:40:38.965 --> 00:40:41.530
Realmente a matemática é muito
fácil sobre este material.

00:40:41.530 --> 00:40:43.180
Para conseguir algo para fazer algo

00:40:43.180 --> 00:40:45.280
a uma taxa diferente
do que outra coisa,

00:40:45.280 --> 00:40:47.560
Você toma a percentagem
dos tempos de rolagem

00:40:47.560 --> 00:40:50.710
a distância máxima de
o pergaminho, o fator vezes.

00:40:50.710 --> 00:40:53.485
Todos nós sabíamos disso. É só

00:40:53.485 --> 00:40:55.870
multiplicar algumas coisas juntas
e ver o que acontece.

00:40:55.870 --> 00:40:57.715
É realmente o que
Tudo se resume a.

00:40:57.715 --> 00:40:59.290
Seus chefes gostam, "como você usa

00:40:59.290 --> 00:41:02.215
um algoritmo de Parallax real para isso,

00:41:02.215 --> 00:41:06.175
ou um algoritmo falso? "
Depende do que você chamá-lo.

00:41:06.175 --> 00:41:09.250
Então você pode mexer com
Estes tudo o que você quer,

00:41:09.250 --> 00:41:11.830
Mas realmente isso é como
simples como ele fica.

00:41:11.830 --> 00:41:15.279
Então vamos falar por um minuto
sobre transições,

00:41:15.279 --> 00:41:17.470
Porque eu quero fazer
Estas demos completamente.

00:41:17.470 --> 00:41:20.800
Então eu não estou falando
especificamente sobre transições

00:41:20.800 --> 00:41:25.345
de uma página para outra,

00:41:25.345 --> 00:41:27.805
Mas eu estou falando sobre
de estado para estado.

00:41:27.805 --> 00:41:32.200
Então, há uma biblioteca agradável novamente
de Stephen para S em Stephen,

00:41:32.200 --> 00:41:35.185
Não sei o que fizeste.
que você não poderia estar aqui,

00:41:35.185 --> 00:41:38.845
Mas cara, ele está aqui em espírito.

00:41:38.845 --> 00:41:42.519
Mas você vê isso, quando
cargas de conteúdo de página,

00:41:42.519 --> 00:41:44.080
Tem algum indicador de carga.

00:41:44.080 --> 00:41:45.745
Diga ao usuário que você está fazendo algo.

00:41:45.745 --> 00:41:48.204
Ainda melhor do que apenas
ter um Spinner,

00:41:48.204 --> 00:41:50.890
Por que não dar-lhes
que a experiência de ver

00:41:50.890 --> 00:41:54.955
o conteúdo em um estado falso
e, em seguida, substituí-lo.

00:41:54.955 --> 00:41:57.430
É algo que você vê muito
de aplicativos que fazem esses dias.

00:41:57.430 --> 00:41:59.080
Me disseram que o Facebook faz isso.

00:41:59.080 --> 00:42:02.560
Eu realmente não uso o Facebook muito
muito, mas eu já vi isso acontecer.

00:42:02.560 --> 00:42:05.080
Então ele diz às pessoas que algo acontece,

00:42:05.080 --> 00:42:07.105
comunica o que está acontecendo.

00:42:07.105 --> 00:42:09.115
As animações comunicam as coisas.

00:42:09.115 --> 00:42:11.230
Quando você faz uma animação
Willy-nilly ou um

00:42:11.230 --> 00:42:14.515
transição Willy-nilly apenas
Porque pode parecer legal,

00:42:14.515 --> 00:42:16.780
Você pode estar enviando uma mensagem errada para

00:42:16.780 --> 00:42:18.670
alguém e você pode
ser frustrante-los.

00:42:18.670 --> 00:42:20.260
Porque pode demorar muito tempo e

00:42:20.260 --> 00:42:22.940
Eles só querem obter
do ponto a ao ponto B.

00:42:23.340 --> 00:42:25.405
Então, quando você deve usá-lo?

00:42:25.405 --> 00:42:30.025
Eu acho que quando mudar de estado é
um grande momento atualizando os dados.

00:42:30.025 --> 00:42:31.450
Deixe que as pessoas saibam
algo está acontecendo,

00:42:31.450 --> 00:42:32.680
Mas não lhes dê uma tela em branco,

00:42:32.680 --> 00:42:34.510
nunca dar-lhes uma tela em branco.

00:42:34.510 --> 00:42:36.340
Se você vai
tem uma vista vazia,

00:42:36.340 --> 00:42:39.130
qual coleção você suporta
Vista vazia como um modelo?

00:42:39.130 --> 00:42:42.130
Então isso é incrível,
O ListView não tinha isso.

00:42:42.130 --> 00:42:44.590
É um ótimo lugar para colocar

00:42:44.590 --> 00:42:47.635
alguma indicação para o usuário
do que está acontecendo,

00:42:47.635 --> 00:42:49.630
ou instruções sobre o que

00:42:49.630 --> 00:42:52.375
Eles precisam fazer para
preencher esse conteúdo.

00:42:52.375 --> 00:42:56.380
Processos de execução curtos são realmente
bom usar para transições.

00:42:56.380 --> 00:42:57.730
Se você tiver um longo processo de execução,

00:42:57.730 --> 00:43:01.210
Você pode querer pensar de perto
sobre como você está lidando com isso,

00:43:01.210 --> 00:43:04.495
e, em seguida, validação e
Ele forma validação.

00:43:04.495 --> 00:43:08.875
É um ótimo momento para praticar
suas habilidades de transição de animação.

00:43:08.875 --> 00:43:11.140
Então, um par de fazer e Don ' ts.

00:43:11.140 --> 00:43:14.425
Alguns destes dizem a mesma coisa,

00:43:14.425 --> 00:43:17.830
Mas eu pensei que talvez isso seria
ser uma boa maneira de expressá-lo.

00:43:17.830 --> 00:43:19.645
Não seja Gratuitous.

00:43:19.645 --> 00:43:21.475
Não faça o seu
animação um obstáculo.

00:43:21.475 --> 00:43:22.960
Se eu tiver que esperar por uma animação para

00:43:22.960 --> 00:43:24.685
completo para chegar onde eu estou indo,

00:43:24.685 --> 00:43:27.505
que provavelmente não é
o melhor lugar para isso.

00:43:27.505 --> 00:43:30.970
Se você tentar fazer a transição
mais de uma coisa de cada vez,

00:43:30.970 --> 00:43:33.745
Você corre o risco de
esmagando o dispositivo,

00:43:33.745 --> 00:43:35.770
e então eles apenas
tornar-se super agitado.

00:43:35.770 --> 00:43:37.570
Se você já usou o menu Flyout,

00:43:37.570 --> 00:43:39.190
e você notou
e talvez no Android

00:43:39.190 --> 00:43:40.900
em especial, que a abertura e

00:43:40.900 --> 00:43:42.340
para fechar o menu suspenso enquanto estiver

00:43:42.340 --> 00:43:44.440
mudando de conteúdo faz pique,

00:43:44.440 --> 00:43:46.089
e não vai suavemente,

00:43:46.089 --> 00:43:48.220
é porque ele está fazendo
muitas coisas ao mesmo tempo.

00:43:48.220 --> 00:43:49.630
Então o que você pode fazer é,

00:43:49.630 --> 00:43:51.835
Você pode definir um atraso em
uma daquelas coisas.

00:43:51.835 --> 00:43:54.835
Talvez deixar o menu fechar primeiro,

00:43:54.835 --> 00:43:56.785
em seguida, carregar o conteúdo da página,

00:43:56.785 --> 00:43:59.980
ou vice-versa, então isso é
uma maneira de contornar isso.

00:43:59.980 --> 00:44:03.310
Mas tenha cuidado ao tentar
fazer muito de uma vez.

00:44:03.310 --> 00:44:07.210
Faça-lhe o disparador reversível
em resposta a uma ação do usuário.

00:44:07.210 --> 00:44:08.950
Estas coisas fazem-no delicioso.

00:44:08.950 --> 00:44:11.110
Quando o usuário se sente como se fosse

00:44:11.110 --> 00:44:14.455
uma coisa real em suas mãos
que está respondendo ao seu toque,

00:44:14.455 --> 00:44:17.560
é muito delicioso, ou
respondendo à sua voz,

00:44:17.560 --> 00:44:20.260
ou respondendo à sua localização.

00:44:20.260 --> 00:44:23.440
Sabe, está consciente de onde
Eles são e o que estão fazendo.

00:44:23.440 --> 00:44:26.095
Isso é realmente delicioso
para as pessoas. Está bem.

00:44:26.095 --> 00:44:29.920
Então, vamos olhar para a demo.

00:44:29.920 --> 00:44:32.710
Cool, estamos de volta no aplicativo certo.

00:44:32.710 --> 00:44:35.230
Então o que você não viu
a última vez foi quando eu

00:44:35.230 --> 00:44:37.990
construí-lo e correu que era
Ainda que a tela de login,

00:44:37.990 --> 00:44:39.820
que era super estranho,
Porque isso não era

00:44:39.820 --> 00:44:42.190
mesmo o código que eu
estava construindo a partir de.

00:44:42.190 --> 00:44:45.190
Então eu tenho uma página aqui em

00:44:45.190 --> 00:44:50.360
meus cenários chamados produto
detalhes, por favor, não bater.

00:44:50.460 --> 00:44:54.430
Então você vê que eu tenho
minha animação de carregamento lá,

00:44:54.430 --> 00:44:55.990
e, em seguida, espero que se a Internet é

00:44:55.990 --> 00:44:57.970
se comportando eu vou conseguir uma imagem.

00:44:57.970 --> 00:45:00.770
Oh, vamos lá, você pode fazer isso.

00:45:03.230 --> 00:45:08.290
Levar para, ele está tentando
carga dos Internets.

00:45:08.290 --> 00:45:10.705
Temos Internets?

00:45:10.705 --> 00:45:13.780
Vá lá, podes fazê-lo.

00:45:13.780 --> 00:45:20.120
Parece muito melhor com-Oi mãe.

00:45:24.030 --> 00:45:28.870
Isso foi incrível. Eu me sentia

00:45:28.870 --> 00:45:33.265
levantou-se como que a música foi
acontecendo, não é?

00:45:33.265 --> 00:45:36.130
Bem, eu não sei por que
minha guitarra não está carregando.

00:45:36.130 --> 00:45:37.810
Vamos olhar para o XAML equipado.

00:45:37.810 --> 00:45:39.790
Nós temos recarga quente continuar e
Podemos ter um momento para olhar

00:45:39.790 --> 00:45:43.090
o XAML. Está bem.

00:45:43.090 --> 00:45:46.105
Então, eu tenho um monte de XAML aqui
Você-tudo, porque como eu disse,

00:45:46.105 --> 00:45:48.640
Eu estava tentando ficar
em XAML, tanto quanto

00:45:48.640 --> 00:45:52.465
possível beneficiar de
recarregar e não ir outros lugares.

00:45:52.465 --> 00:45:56.200
Então, a primeira coisa que você vai
Provavelmente notar como uma porcaria sagrada.

00:45:56.200 --> 00:45:58.235
Há um monte de ins XML.

00:45:58.235 --> 00:46:01.185
Isso é tudo nome espaços.

00:46:01.185 --> 00:46:03.000
Eu tenho um monte de arquivos
em todo o lugar.

00:46:03.000 --> 00:46:06.060
Como eu disse, estou usando
Esta coisa de carregamento fácil.

00:46:06.060 --> 00:46:09.030
Esta é a minha página para a qual eu preciso

00:46:09.030 --> 00:46:10.470
vincular a algo por algum motivo

00:46:10.470 --> 00:46:11.640
Eu não me lembro por que eu tenho isso,

00:46:11.640 --> 00:46:13.730
Mas deve ser muito importante.

00:46:13.730 --> 00:46:15.700
Neste caso em particular,

00:46:15.700 --> 00:46:18.280
Eu estou escondendo algumas coisas Shell porque eu

00:46:18.280 --> 00:46:21.565
Só não quero que aqui para
os propósitos desta demo,

00:46:21.565 --> 00:46:24.220
e, em seguida, é claro que eu estou forçando

00:46:24.220 --> 00:46:26.935
um par de estilos aqui para
os propósitos da demo também.

00:46:26.935 --> 00:46:29.965
Estou definindo meu contexto vinculativo
aqui no XAML.

00:46:29.965 --> 00:46:31.765
Eu não sei se isso é
uma prática comum para você.

00:46:31.765 --> 00:46:34.330
Eu estou bem isso funciona
muito bem com Shell,

00:46:34.330 --> 00:46:38.680
e Shell é projetado com
Este padrão em mente que você colocar,

00:46:38.680 --> 00:46:40.390
Eu acho que não deve falar
sobre Shell muito.

00:46:40.390 --> 00:46:42.295
Shane tem uma sessão
mais tarde hoje na Shell.

00:46:42.295 --> 00:46:44.150
Vá ver a conversa do Shane na casca.

00:46:44.150 --> 00:46:46.710
Vai ser ótimo cada spline
Eu vou para o Shane direito de ações.

00:46:46.710 --> 00:46:49.360
Acho que está bem aqui.
deve estar bem aqui.

00:46:50.210 --> 00:46:53.250
Então, claro, em meus recursos,

00:46:53.250 --> 00:46:55.920
Eu basicamente não tenho nada
definido para algumas animações.

00:46:55.920 --> 00:46:57.200
Eu declarei.

00:46:57.200 --> 00:47:01.825
Estou usando a animação Zam
de Javier Suarez Ruiz.

00:47:01.825 --> 00:47:05.230
Ele está na equipe da via smack.
e ele está na Espanha.

00:47:05.230 --> 00:47:07.720
Então ele faz alguns realmente
bons exemplos on-line.

00:47:07.720 --> 00:47:10.090
Se você nunca vai olhar
Ele se eu acho que ele tem

00:47:10.090 --> 00:47:13.015
Xamarin incrível ou
alguns GitHub como esse.

00:47:13.015 --> 00:47:15.070
Sei que temos um par
daqueles hoje em dia.

00:47:15.070 --> 00:47:17.350
Então, verifique se
alguns exemplos realmente bons.

00:47:17.350 --> 00:47:20.440
Então eu tenho um par de
animações pré-construídas aqui.

00:47:20.440 --> 00:47:22.585
Este é um CarouselFadeOut.

00:47:22.585 --> 00:47:25.960
Este é um NavBarFadeOut,
CarouselFadeIn,

00:47:25.960 --> 00:47:29.230
FakeNavBar, eu acho que eu não deveria
chamá-lo de um FakeNavBar.

00:47:29.230 --> 00:47:34.370
Eu deveria ser como o "navbar" do Davee
como se isso não fosse falso é real.

00:47:34.860 --> 00:47:38.065
Então é claro que eu tenho a minha grade,

00:47:38.065 --> 00:47:40.750
e, em seguida, a imagem na parte superior é

00:47:40.750 --> 00:47:44.050
Esse cara bem aqui,
Este CarouselView.

00:47:44.050 --> 00:47:47.425
Então, onde estão as minhas imagens?

00:47:47.425 --> 00:47:51.430
Eles estão bem aqui. O que é
errado com você imagem?

00:47:51.430 --> 00:47:54.860
Olhe para esse URL incrível.

00:47:55.020 --> 00:47:57.640
Eu sei que eu só olhar,

00:47:57.640 --> 00:47:59.995
Estou apaixonada por guitarras agora.

00:47:59.995 --> 00:48:02.185
Eu posso controlar o meu teclado.

00:48:02.185 --> 00:48:04.045
Eu vi esta foto
Este violão meu,

00:48:04.045 --> 00:48:06.430
Isso é o que eu vou
para usar na minha demo.

00:48:06.430 --> 00:48:08.950
Vamos apenas garantir que
a imagem ainda existe.

00:48:08.950 --> 00:48:11.780
Existe, qual é o seu problema?

00:48:12.000 --> 00:48:15.950
Vamos ver se consigo bater.

00:48:19.470 --> 00:48:30.025
Sim. Homem, andróide bytes
novamente vamos fazê-lo.

00:48:30.025 --> 00:48:38.605
Não estou assustado. Vamos atualizar
Visual Studio agora mesmo. Está bem.

00:48:38.605 --> 00:48:40.990
Não, não vou fazer isso.

00:48:40.990 --> 00:48:42.640
Eu tenho um pequeno falha onde

00:48:42.640 --> 00:48:44.290
Não gosta de começar
o emulador de

00:48:44.290 --> 00:48:48.160
Visual Studio agora mesmo.
Não, eu não quero saber.

00:48:48.160 --> 00:48:51.400
Eu também tenho um falha muito estranho

00:48:51.400 --> 00:48:53.770
onde o Hyper-V é realmente
mais lenta do que a HAXM.

00:48:53.770 --> 00:48:55.720
Alguém tem isso acontecendo?

00:48:55.720 --> 00:48:58.370
É essa a sua experiência?

00:48:59.160 --> 00:49:01.960
Fresco. Está bem.

00:49:01.960 --> 00:49:05.065
Reiniciar o emulador.

00:49:05.065 --> 00:49:06.940
É por isso que eu gosto
fazendo streaming ao vivo.

00:49:06.940 --> 00:49:10.090
É muito mais baixa chave e você está
como trabalhar com essas coisas.

00:49:10.090 --> 00:49:12.130
Está tudo bem. Eu não

00:49:12.130 --> 00:49:14.780
tem que estar aqui sendo
tudo bonito para você.

00:49:15.690 --> 00:49:19.760
Está bem. Começou.
Isso foi super rápido.

00:49:19.800 --> 00:49:23.590
É realmente vivo ou é
Ele congelado cool é ao vivo.

00:49:23.590 --> 00:49:25.465
Tudo bem, reimplante.

00:49:25.465 --> 00:49:27.160
Então agora você está dizendo
que eu vou conseguir

00:49:27.160 --> 00:49:30.835
minha imagem que diz que eu sou
Vou ter uma imagem.

00:49:30.835 --> 00:49:35.365
Povos dos pares que dizem hesitante
Sim, uma pessoa muito competente.

00:49:35.365 --> 00:49:40.765
A maioria de vocês são como eu penso
Talvez, que foi rápido também.

00:49:40.765 --> 00:49:44.240
Eu não era normalmente
que está indo muito mais devagar.

00:49:52.170 --> 00:49:55.390
Também porque eu gosto de fazer
transmissão ao vivo em

00:49:55.390 --> 00:49:59.470
codificação ao vivo porque
Vocês vão me ajudar.

00:49:59.470 --> 00:50:01.870
Está bem. Fresco. Então
Aqui está o que está acontecendo.

00:50:01.870 --> 00:50:03.460
Vou rolar um pouco mais devagar.

00:50:03.460 --> 00:50:07.720
Você vê o paralaxe indo
lá com o, sim.

00:50:07.720 --> 00:50:11.080
Então você vê que eu tenho
um NavBar e um NavBar.

00:50:11.080 --> 00:50:14.470
Como eu chegar até aqui para o
topo da imagem desaparece

00:50:14.470 --> 00:50:18.580
Boom e, em seguida, o meu NavBar desaparece.

00:50:18.580 --> 00:50:24.340
Então aqui está a maneira mais difícil
fazer essa transição NavBar.

00:50:24.340 --> 00:50:26.515
A maneira mais difícil é dizer,

00:50:26.515 --> 00:50:28.480
"Eu vou fazer todo esse trabalho.

00:50:28.480 --> 00:50:30.190
Só vou
ter um botão de volta.

00:50:30.190 --> 00:50:31.480
Vou ter um botão de zoom.

00:50:31.480 --> 00:50:33.175
Vou ter que
um botão de carrinho de compras.

00:50:33.175 --> 00:50:34.300
Eu vou ter um fundo,

00:50:34.300 --> 00:50:36.070
e eu vou fazer
todas essas traduções

00:50:36.070 --> 00:50:37.840
me. " Essa é a maneira mais difícil.

00:50:37.840 --> 00:50:39.715
A maneira fácil é dizer,

00:50:39.715 --> 00:50:42.580
"Eu vou ter
o primeiro Estado e então eu sou apenas

00:50:42.580 --> 00:50:46.045
vai criar outro NavBar
e desapareceu e por cima dele,

00:50:46.045 --> 00:50:48.565
e todos eles vão
fazer a mesma coisa.

00:50:48.565 --> 00:50:51.490
Confie em mim muito mais fácil.

00:50:51.490 --> 00:50:53.320
Então isso é realmente
o que está acontecendo lá,

00:50:53.320 --> 00:50:55.135
e, basicamente, como eu rolar para cima,

00:50:55.135 --> 00:50:58.135
Eu chegar a um certo ponto e
Ele dispara essa animação.

00:50:58.135 --> 00:51:00.700
Então eu estou usando o evento
gatilhos e estou usando

00:51:00.700 --> 00:51:03.760
gatilhos de dados e
também usando ligações.

00:51:03.760 --> 00:51:07.255
Então, para o pergaminho de paralaxe

00:51:07.255 --> 00:51:09.655
Já que é isso que eu sou
deveria estar falando,

00:51:09.655 --> 00:51:13.045
Tenho tudo dentro
de um ScrollerView.

00:51:13.045 --> 00:51:16.165
Você pode ver que o ScrollerView
é um modo de exibição personalizado.

00:51:16.165 --> 00:51:18.940
É apenas uma vista de rolagem em que eu

00:51:18.940 --> 00:51:21.790
expôs a propriedade Scroll,

00:51:21.790 --> 00:51:28.580
Porque aqui no carrossel
que é a guitarra,

00:51:28.830 --> 00:51:35.725
Você vê que eu não tenho não os dados
acionar a tradução.

00:51:35.725 --> 00:51:37.375
Eu tenho esse código aqui.

00:51:37.375 --> 00:51:40.810
Estou traduzindo a posição Y
do carrossel.

00:51:40.810 --> 00:51:42.850
Assim como eu rolar para cima,

00:51:42.850 --> 00:51:44.350
meu carrossel se move.

00:51:44.350 --> 00:51:46.045
A minha guitarra mexe-se.

00:51:46.045 --> 00:51:49.420
Então eu estou ligando para
um percentual de rolagem que é

00:51:49.420 --> 00:51:53.080
apenas uma propriedade que expunha
fora do ScrollerView.

00:51:53.080 --> 00:51:55.555
Então, novamente eu tenho um conversor aqui,

00:51:55.555 --> 00:51:57.010
e eu estou usando isso.

00:51:57.010 --> 00:51:59.950
Este é um truque pequeno agradável
que Stephen me mostrou.

00:51:59.950 --> 00:52:02.650
Talvez não seja truque. Eu sou
apenas usando os parâmetros.

00:52:02.650 --> 00:52:04.300
Eu tenho a habilidade porque

00:52:04.300 --> 00:52:07.030
às vezes você quer passar
mais de um parâmetro.

00:52:07.030 --> 00:52:12.820
Então eu estou apenas passando uma corda
com um delimitador de ponto e vírgula,

00:52:12.820 --> 00:52:15.610
e eu posso passar o quanto eu quiser.

00:52:15.610 --> 00:52:20.095
Então eu estou passando um fator
do que eu queria fazer,

00:52:20.095 --> 00:52:23.215
um valor mínimo, um valor máximo.

00:52:23.215 --> 00:52:25.420
Se é ou não é verdadeiro ou falso.

00:52:25.420 --> 00:52:27.580
Não me lembro o que
que a propriedade era para,

00:52:27.580 --> 00:52:30.730
e então eu nem me lembro
o que era para isso.

00:52:30.730 --> 00:52:34.915
Então, mas a coisa é que
Porque isso é tudo lá agora,

00:52:34.915 --> 00:52:37.855
Eu não tenho que voltar e
adiante o C# mudar nada.

00:52:37.855 --> 00:52:39.775
Eu não tenho que voltar para
código por trás de um chastening.

00:52:39.775 --> 00:52:43.030
Eu posso apenas ajustar esses valores e
recarregar e recarregar.

00:52:43.030 --> 00:52:45.790
Então eu posso levar isso
e eu posso dizer, "Ok.

00:52:45.790 --> 00:52:51.040
Nós vamos fazer apenas
um e salvar isso,

00:52:51.040 --> 00:52:55.375
recarregar a página, e então agora
está indo na direção errada. "

00:52:55.375 --> 00:52:57.160
Então é como Oh Dave você está

00:52:57.160 --> 00:52:59.230
um retardado que você vai ter
reconstruir esta coisa toda.

00:52:59.230 --> 00:53:01.960
Não. Nós não vamos reconstruir.

00:53:01.960 --> 00:53:03.970
Esse é o seu objetivo, e todo o objetivo é

00:53:03.970 --> 00:53:06.460
um desenvolvedor agora é
para parar de reconstruir.

00:53:06.460 --> 00:53:07.990
Então o que eu posso possivelmente

00:53:07.990 --> 00:53:10.390
fazer para fazer essa coisa
fazer algo diferente?

00:53:10.390 --> 00:53:14.995
Então, agora recarregar recarregar.

00:53:14.995 --> 00:53:16.525
Às vezes você não
mesmo saber para recarregar.

00:53:16.525 --> 00:53:19.675
Olhe para isso agora é
rato-como eu estou perseguindo-o afastado,

00:53:19.675 --> 00:53:21.895
e esse não é o efeito
Quer seja.

00:53:21.895 --> 00:53:24.790
Então eu só continua ajustes
isso e eu descobri que

00:53:24.790 --> 00:53:28.465
o fator 10 negativo parece
para trabalhar muito bem,

00:53:28.465 --> 00:53:30.880
e agora eu recebo minha transição agradável.

00:53:30.880 --> 00:53:35.275
Agora, outra coisa
Você vai notar é que,

00:53:35.275 --> 00:53:39.370
Eu não sei se você pode ver isso
Mas você vê como ele foi para o branco.

00:53:39.370 --> 00:53:43.540
Mas minha experiência é
realmente como uma cor cinzenta.

00:53:43.540 --> 00:53:45.790
Eu realmente tenho uma outra caixa para

00:53:45.790 --> 00:53:47.665
você sentado atrás do CarouselView.

00:53:47.665 --> 00:53:49.510
Então eu posso desvanecer o CarouselView,

00:53:49.510 --> 00:53:52.000
Mas mantê-lo em um fundo branco.

00:53:52.000 --> 00:53:54.385
Então ele faz algumas coisas agradáveis lá.

00:53:54.385 --> 00:53:56.410
Algumas coisas acontecem aqui.

00:53:56.410 --> 00:53:59.560
Agora, eu realmente não
mostrar-lhe como o fácil

00:53:59.560 --> 00:54:02.755
carregamento para a tela funciona.

00:54:02.755 --> 00:54:08.485
Então, para voltar produto rápido real
detalhes que parte ali.

00:54:08.485 --> 00:54:11.065
Eu vou te mostrar como isso
funciona muito rápido.

00:54:11.065 --> 00:54:13.555
Sim cara, eu não vou desistir.

00:54:13.555 --> 00:54:15.205
Nós estamos indo para ele.

00:54:15.205 --> 00:54:17.245
Nós estamos indo para ele. Você,

00:54:17.245 --> 00:54:18.790
Quero dizer, eu sou o Kramer parece homem.

00:54:18.790 --> 00:54:21.100
Estamos indo para o fim da linha.

00:54:21.100 --> 00:54:23.845
Não, eu só estou brincando. Eu sou
embrulhando. Estou embrulhando.

00:54:23.845 --> 00:54:26.650
Esta é a última demo a demo bônus.

00:54:26.650 --> 00:54:29.560
Está tudo bem. Basta dar a cada
outro um abraço e ficar bem.

00:54:29.560 --> 00:54:36.235
Então é em Brandon,

00:54:36.235 --> 00:54:40.265
Você está tentando me Boo
fora do palco vêm em homens,

00:54:40.265 --> 00:54:42.310
Agora apenas brincando, estou quase terminando.

00:54:42.310 --> 00:54:46.270
Então, realmente tudo que você faz é você fazer isso.

00:54:46.270 --> 00:54:48.010
Você fornece um modelo de carregamento.

00:54:48.010 --> 00:54:50.350
Agora eu não sei
as implicações de desempenho.

00:54:50.350 --> 00:54:52.060
Assim, sua quilometragem pode variar,

00:54:52.060 --> 00:54:53.605
Mas você praticamente apenas fake

00:54:53.605 --> 00:54:57.780
o conteúdo que você está
vai ser exibido.

00:54:57.780 --> 00:54:59.805
Então você precisa ligar

00:54:59.805 --> 00:55:02.520
Esta propriedade anexada
está carregando para algo.

00:55:02.520 --> 00:55:04.250
Então eu não estou ocupado,

00:55:04.250 --> 00:55:07.480
e você provavelmente todos têm em
seu ocupado em seus modelos de vista.

00:55:07.480 --> 00:55:08.980
Então isso é muito bonito.

00:55:08.980 --> 00:55:10.885
Esse código está no meu GitHub.

00:55:10.885 --> 00:55:12.250
Há mais uma coisa.

00:55:12.250 --> 00:55:15.430
Eu vou apontar para você, é em
meus slides, porque eu acho que

00:55:15.430 --> 00:55:18.985
que este é realmente um grande
recurso para check-out.

00:55:18.985 --> 00:55:23.150
Faça isso, exiba essa ação.

00:55:24.240 --> 00:55:28.510
Então Kym phillpotts que
trabalha em MS learn,

00:55:28.510 --> 00:55:30.910
anteriormente Xamarin University tem

00:55:30.910 --> 00:55:33.280
foi Twitch streaming de seus exemplos.

00:55:33.280 --> 00:55:34.705
Este é um que ele fez.

00:55:34.705 --> 00:55:37.075
Acho que é muito bom.

00:55:37.075 --> 00:55:39.090
Eu posso, você faz esse tipo de coisa,

00:55:39.090 --> 00:55:41.345
seu chefe vai
para te dar um aumento.

00:55:41.345 --> 00:55:44.155
Sério, olhe isso.

00:55:44.155 --> 00:55:46.270
Então cheque as coisas dele.

00:55:46.270 --> 00:55:51.265
Esta demo está em seu GitHub como
bem como vários outros.

00:55:51.265 --> 00:55:55.180
A animação pode realmente ser
um toque agradável em cima de tudo.

00:55:55.180 --> 00:55:57.340
Mas há um monte de
outras coisas básicas

00:55:57.340 --> 00:55:58.795
Você pode cuidar. Então, de qualquer maneira.

00:55:58.795 --> 00:56:01.750
Muito obrigado pelo seu tempo
para ouvir minhas piadas.

00:56:01.750 --> 00:56:04.040
Espero que tenhas aprendido alguma coisa.

00:56:06.000 --> 00:56:08.200
Fiquem todos.

00:56:08.200 --> 00:56:10.000
MÚSICA

