Portuguese (Português) translation by Renato Somel (you can also view the original English article)
Nesta série de dicas, estamos observando de perto alguns dos novos recursos e ferramentas Android anunciados nas E / S do Google deste ano.
Nesta publicação, vamos nos concentrar no Android Wear.
O Google vem fornecendo componentes do Android Wear UI através de uma biblioteca de suporte Wearable dedicada por um tempo agora, mas isso está prestes a mudar!
No evento deste ano, o Google anunciou que os vários componentes que compõem a Biblioteca de Suporte Wearable serão obsoletos, fundidos ou migrados para a Biblioteca de Suporte Android. Neste artigo, veremos quais componentes serão incorporados, movidos e removidos e como você pode começar a usar o novo módulo de desgaste do Android Biblioteca de suporte hoje.
Também estaremos olhando algumas novas ferramentas que são projetadas para tornar mais fácil trabalhar com a API de Complicações do Android Desgasta.
Nova Biblioteca de usar o Android.
No Google I / O deste ano, a equipe do Android Wear anunciou que a maior parte da Biblioteca de Suporte Wearable está se movendo para a Biblioteca de Suporte Android. Os componentes específicos do desgaste formam a base de um novo módulo de suporte-desgaste, semelhante a outros módulos na Biblioteca de suporte do Android, como suporte-recylerview
e suporte-design
.
De acordo com as sessões do Android Wear no Google I / O, podemos esperar que este novo módulo de desgaste se torne fora da versão beta, ao mesmo tempo que o Android O lança oficialmente.
No entanto, nem todos os componentes da Biblioteca de Suporte Wearable estarão passando para a Biblioteca de Suporte Android. O Google também anunciou que alguns componentes da biblioteca de suporte Wearable serão:
Fusionado. Os componentes que são aplicáveis a dispositivos portáteis e portáteis serão mesclados na estrutura do Android ou em módulos de suporte genéricos. Os componentes que devem ser incorporados incluem
CircledImageView
,DelayedConfirmationView
eActionButton
.Descontinuada. O Google irá depreciar os componentes do Android Wear UI associados aos padrões de design que não se mostraram populares entre os usuários do Android Wear. Especificamente, o Google removerá o modelo espacial bidimensional que permitiu que os usuários do Android Wear se movessem horizontal e verticalmente e o substituirão por um LinearLayout vertical. Todas as classes associadas ao modelo espacial bidimensional serão obsoletas, incluindo
GridViewPager,
botões de ação e layouts de ação.
Embora esta migração seja um processo contínuo, o Google já integrou alguns componentes do Android Wear na versão 26.0.0 Beta1 da Biblioteca de Suporte Android.
BoxInsetLayout
: Este é um Layout de quadro com forma de tela que pode ajudá-lo a projetar um layout único que funciona para rostos de relógio quadrado e redondo. Quando seu layout é exibido em uma tela redonda, umBoxInsetLayout
encapsirá todas as suas crianças em um quadrado imaginário no centro da tela circular. Você pode especificar como seus elementos de UI serão posicionados neste quadrado central, usando o atributolayout_box
. Quando seu aplicativo é exibido em uma tela quadrada, o Android ignora o atributolayout_box
e usa uma inserção de janela de zero, então suas visualizações serão posicionadas como se estivessem dentro de umFrameLayout
regular.SwipeDismissFrameLayout
: Este é um layout que você pode usar para implementar interações personalizadas para suas visualizações e fragmentos. Você geralmente usaráSwipeDismissFrameLayout
para permitir que os usuários descartem vistas e fragmentos ao deslizar na tela, essencialmente replicando a funcionalidade do botão Voltar encontrado em smartphones e tablets Android.WearableRecyclerView
: Esta é uma implementação específica do Wearable deRecyclerView qu
e ajuda você a projetar layouts mais efetivos para displays redondos. OWearableRecyclerView
torna o uso mais eficaz da curvatura de uma tela redonda e geralmente é usado para implementar listas curvas.WearableRecyclerView
também oferece a opção de usar gestos de rolagem circular em seu aplicativo, por meio do métodosetCircularScrollingGestureEnabled
().
Adicionando o novo módulo de desgaste do Android
Para começar a usar o novo módulo do Android Wear, você precisará instalar o Android Support Library 26.0.0 Beta1, o que nos leva a outro anúncio de Google I / O.
No evento deste ano, o Google anunciou que seria distribuir todas as próximas versões da Biblioteca de Suporte Android (26.0.0 Beta1 e superior) somente no repositório Google Maven.
Fazer o download da Biblioteca de Suporte Android deste repositório simplesmente requer que você adicione o Repositório do Google Maven ao seu arquivo build.gradle:
repositories { maven { url 'https://maven.google.com' } jcenter() }
Você pode então configurar suas dependências de compilação como de costume, então abra o arquivo build.gradle do seu módulo wearable e adicione a biblioteca Wear como uma dependência do projeto:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //Add the following// compile 'com.android.support:wear:26.0.0-beta1'
Para adicionar um componente da biblioteca de UI do Android Wear à sua interface do usuário, basta abrir o arquivo de recursos de layout e certificar-se de usar o novo nome de pacote totalmente qualificado. Essencialmente, isso significa substituir android.support.wearable.view
com android.support.wear.widget.
Por exemplo, aqui estou usando a classe BoxInsetLayout
da Biblioteca de Suporte do Android:
<?xml version="1.0" encoding="utf-8"?> <android.support.wear.widget.BoxInsetLayout https://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/dark_grey" android:padding="@dimen/box_inset_layout_padding" tools:context="com.jessicathornsby.myapplication.MainActivity" tools:deviceIds="wear"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:padding="@dimen/inner_frame_layout_padding" app:layout_box="all"> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hi World" /> </FrameLayout> </android.support.wear.widget.BoxInsetLayout>
Para importar esta classe em seu arquivo Java, você precisará usar o mesmo nome, então o antigo:
import android.support.wearable.view.BoxInsetLayout;
Torna-se o novo:
import android.support.wear.widget.BoxInsetLayout;
Integração mais fácil com a API de complicações
Os usuários do Android Wear podem escolher entre uma grande variedade de estilos de rostos de exibição e, embora a API de Complicações dê aos olhos o controle completo sobre como eles desenham esses dados, essa flexibilidade pode dificultar a adição de complicações para o seu relógio.
No Google I / O deste ano, a equipe do Android Wear introduziu algumas adições que deveriam facilitar o trabalho com a API de Complicação.
Complicação Desenhavel
ComplicationDrawComplicationDrawable
é uma nova solução que promete lidar com todo o estilo e layout da sua complicação para você.
capaz
Se você criar um ComplicationDrawable
, mas não definir nenhum parâmetro de estilo, então você terá uma aparência padrão, mas também pode usar o ComplicationDrawable
para modelar todas as partes da sua complicação, incluindo sua cor de fundo, raio de canto e borda.
Se o seu projeto atingir API 24 ou superior, você pode definir um objeto ComplicationDrawable
criando um arquivo de recurso de layout dedicado na pasta do projeto / res / drawable.
Abra seu arquivo XML e, em seguida, crie um ComplicationDrawable
usando as seguintes tags:
<android.support.wearable.complications.rendering.ComplicationDrawable ... ... ... <ambient //Define the attributes you want to use when the device is in ambient mode// /> </android.support.wearable.complications.rendering.ComplicationDrawable>
Observe que os atributos definidos no nível superior se aplicam aos modos padrão e ambiente, a menos que você substitua especificamente esses atributos na seção do arquivo
.
Você, então, precisa passar os dados de complicações para o seu drawable:
@Override public void onComplicationDataUpdate(int id, ComplicationData data) { myComplicationDrawable.setComplicationData(data); }
E, finalmente, desenhe sua complicação chamando setBounds
em seu drawable:
@Override public void onDraw(Canvas canvas, Rect bounds) { if(haveChanged(bounds)) { myComplicationDrawable.setBounds( complicationBoundsWithin(bounds)); } //Call draw on the ComplicationDrawable// myComplicationDrawable.draw(canvas, currentTimeMillis); ... ... ... }
Renderizador de texto
A maioria das complicações inclui alguma forma de texto e o TextRenderer
é uma nova classe que faz uma série de ajustes pequenos, mas poderosos, na forma como o texto da complicação é desenhado na tela.
Você pode usar o TextRenderer
para especificar os limites com os quais seu texto de complicação tem que trabalhar e o TextRenderer
redimensionará o texto ou organizará várias linhas, para se ajustar a essa área. Além disso, quando a tela entra no modo ambiente "sempre ligado" do Android Wear, TextRenderer
ajusta seu texto escondendo caracteres e estilo que não são adequados para este modo.
Para tirar proveito desta nova classe, você precisa criar um TextRenderer
quando inicializar o rosto do relógio e, em seguida, passar o TextPaint
que você deseja usar, que define atributos de estilo, como a fonte e a cor do texto:
@Override public void onCreate(SurfaceHolder holder) { ... ... ... myTextRenderer = new TextRenderer(); myTextRenderer.setPaint(myTextPaint(TextPaint);
Você precisa criar um TextRenderer
para cada campo, então você também precisará criar um TextRenderer
para o texto do título:
myTitleRenderer = new TextRenderer(); myTitleRenderer.setPaint(myTitlePaint); ... ... ... }
Quando é hora de desenhar, você precisará configurar o texto no renderizador chamando setText
e, em seguida, recuperar o texto chamando getText:
public void onDraw(Canvas canvas, Rect bounds) { ... ... ... myTextRenderer.setText(myComplicationText.getText( Context, data.getShortText(), currentTimeMillis)); myTextRenderer.draw(canvas, bounds); ... ... ... }
Observe que muitas complicações dependem do tempo, razão pela qual currentTimeMillis
está incluído no trecho de código acima.
Conclusão
Neste artigo, analisamos como adicionar a nova biblioteca de UI do Android Wear ao seu projeto e como você pode começar a trabalhar com vários componentes desta biblioteca hoje. Nós também examinamos dois componentes que prometem integrar a API de Complicações do Android Wear muito mais fácil do que anteriormente.
Na próxima parcela, estaremos recebendo uma prévia dos recursos atualizados no Android 3.0, explorando a versão mais recente do Android Studio Canary.
Enquanto isso, confira alguns de nossos outros tutoriais e nossos cursos de vídeo no desenvolvimento de aplicativos para Android!
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post