Postado por Marcel Pintó Biescas, Developer Relations Engineer, @marxallski
O Android 12 traz uma melhoria de um recurso essencial para muitos usuários do Android, os widgets de apps, tornando-os mais úteis, bonitos e detectáveis (84% usam pelo menos um widget). Hoje, estamos facilitando ainda mais a sua criação com o lançamento da primeira versão Alfa do Jetpack Glance, um novo framework criado com base no tempo de execução do Jetpack Compose e projetado para simplificar e agilizar a criação de widgets de apps para a tela inicial e outras superfícies.
Adoraríamos que você o experimentasse e compartilhasse seu feedback!
O Glance oferece APIs do Kotlin modernas e declarativas, parecidas com as que você já conhece no Jetpack Compose, para ajudar a criar widgets de apps bonitos e responsivos com muito menos código.
Exemplo de widget “Hello World” do Glance
class GreetingsWidget(private val name: String): GlanceAppWidget() {
@Composable
override fun Content() {
Text(text = "Hello $name")
}
}
class GreetingsWidgetReceiver : GlanceAppWidgetReceiver() {
override val glanceAppWidget = GreetingsWidget("Glance")
}
Como funciona
O Glance fornece um conjunto básico de funções que podem ser compostas para ajudar a criar experiências “de fácil visualização”. Começamos hoje com os componentes de widgets de apps, mas em breve haverá mais. Com o uso do tempo de execução do Jetpack Compose, o Glance pode traduzir funções que podem ser compostas em RemoteViews reais e exibi-las em um widget de app.
Diagrama: estrutura do Glance
Isso significa que o Glance exige que o Compose seja ativado e depende das camadas do Compose Runtime, Graphics e Unit UI, mas não é diretamente interoperável com outros elementos da IU do Jetpack Compose. No entanto, o estado e qualquer outra lógica do app podem ser compartilhados para criar uma IU de fácil visualização.
O que a versão Alfa traz
Essa versão inicial introduz as APIs principais para que você possa criar widgets de apps, além de fornecer interoperabilidade com RemoteViews existentes.
Segue uma visão geral do que a biblioteca oferece:
- Declare widgets de apps com
GlanceAppWidget
e GlanceAppWidgetReceiver
.
- Componha a IU com o conjunto inicial de funções que podem ser compostas do Glance:
Box
, Row
, Column
, Text
, Button
, LazyColumn
, Image
, Spacer
.
- Aplique modificadores às funções que podem ser compostas usando métodos
GlanceModifier
.
- Lide com a interação do usuário com
Action
predefinidas.
- Forneça parâmetros para
Action
com ActionParameters
.
- Trabalhe com diferentes modos de tamanho definindo
SizeMode.Single
, SizeMode.Exact
ou SizeMode.Responsive
.
- Faça a persistência de
GlanceAppWidget state
fornecendo um GlanceStateDefinition
.
- Composições locais como
LocalContext
, LocalState
, LocalGlanceId
, LocalSize
.
- Interopere com seus
RemoteViews
existentes com a função que pode ser composta AndroidRemoteViews
.
Estamos trabalhando para trazer ainda mais funcionalidades com temas padrão, suporte adicional ao Android Studio e muito mais. Fique de olho nas próximas versões.
Observação: embora o minSDK seja o 21, no momento só damos suporte à compatibilidade até o SDK v23.
Comece a usar o Glance
Confira a amostra no GitHub para começar a usá-lo rapidamente. O Glance funciona com o Android Studio estável mais recente. Mas, como o Glance depende do tempo de execução do Compose, siga as etapas na documentação do Jetpack Compose para configurá-lo primeiro.
Para ver informações mais detalhadas, confira as demonstrações do repositório do AndroidX.
Demonstração de ResponsiveAppWidget.kt
A versão Alfa é a sua oportunidade de influenciar as APIs, então compartilhe seu feedback e conte para a gente como foi a sua experiência!
Boa composição com Glance!
Nenhum comentário :
Postar um comentário