• Nenhum resultado encontrado

Mergulhando no Android Developer Tools: apresentando o projeto de interface visual, os layouts, a acessibilidade

2.7 Torne seu aplicativo acessível

O Android contém recursos de acessibilidade para ajudar pessoas com vários tipos de deficiências a usar seus dispositivos. Para deficientes visuais, o recurso TalkBack do An- droid pode pronunciar o texto que está na tela ou que você fornece (ao projetar sua interface de usuário ou por meio de programa) para ajudar o usuário a entender a finali- dade de um componente da interface. O Android fornece também o recurso Explore by Touch, o qual permite ao usuário ouvir o aplicativo TalkBack pronunciar o que está no local em que o usuário toca na tela.

Quando o aplicativo TalkBack está habilitado e o usuário toca em um componente acessível da interface do usuário, ele pronuncia o texto de acessibilidade do componente e vibra o dispositivo para dar um retorno para deficientes auditivos. Todos os compo- nentes de interface de usuário padrão do Android oferecem suporte para acessibilidade. Para os que exibem texto, o recurso TalkBack pronuncia esse texto por padrão – por exemplo, quando o usuário toca em um componente TextView, o TalkBack pronuncia o texto desse componente. O recurso TalkBack é habilitado no aplicativo Settings, sob Accessibility. Nessa página também é possível habilitar outros recursos de acessibilidade

ampliam áreas da tela. Infelizmente, atualmente o recurso TalkBack não é suportado em AVDs, de modo que você precisa executar esse aplicativo em um dispositivo para ouvi-lo pronunciar o texto. Quando o recurso TalkBack é habilitado, o Android oferece a opção de percorrer um tutorial sobre como utilizá-lo com o recurso Explore by Touch.

Habilitando o recurso TalkBack dos componentes ImageView

No aplicativo Welcome, não precisamos de texto mais descritivo para o componente TextView, pois o recurso TalkBack lerá o conteúdo desse componente. Contudo, para um componente ImageView, não há texto para o recurso TalkBack pronunciar, a não ser que você o forneça. Considera-se uma melhor prática no Android garantir que todo componente de interface gráfica de usuário possa ser usado com o recurso TalkBack, fornecendo-se texto para a propriedade Content Description de todo componente que

não exiba texto. Por isso, o IDE nos avisou de que algo deu errado em nossa interface de usuário, exibindo pequenos ícones de alerta ( ) no editor Graphical Layout, ao lado de

cada componente ImageView. Esses alertas – os quais são gerados por uma ferramenta do IDE conhecida como Android Lint – indicam que não configuramos a propriedade Content Description de cada imagem. O texto que você fornece deve ajudar o usuário a

entender a finalidade do componente. Para um componente ImageView, o texto deve descrever a imagem.

Para adicionar uma propriedade Content Description para cada componente Image- View (e eliminar os alertas da Android Lint), execute os passos a seguir:

1. Selecione o componente droidImageView no editor Graphical Layout.

2. Na janela Properties, clique no botão de reticências à direita da propriedade Content Description a fim de abrir a caixa de diálogo Resource Chooser.

3. Clique no botão New String... para exibir a caixa de diálogo Create New Android String.

4. Especifique “Android logo” no campo String e, no campo R.string, especifique an- droid_logo; em seguida, pressione OK.

5. O novo recurso de string android_logo é selecionado na caixa de diálogo Resource Chooser; portanto, clique em OK para especificar esse recurso como valor para a

propriedade Content Description de droidImageView.

6. Repita os passos anteriores para o componentebugImageView, mas na caixa de diá- logoCreate New Android String, especifique "Deitel double-thumbs-up bug logo" para o campo String e "deitel_logo" para o campo R.string. Salve o arquivo.

Quando você define a propriedade Content Description de cada componente ImageView, o ícone de alerta ( ) do componente é removido no editor Graphical Layout.

Testando o aplicativo com TalkBack habilitado

Execute esse aplicativo em um dispositivo com TalkBack habilitado e, então, toque no componente TextView e em cada componente ImageView para ouvir o recurso TalkBack pronunciar o texto correspondente.

Aprendendo mais sobre acessibilidade

Alguns aplicativos geram componentes de interface gráfica dinamicamente, em resposta às interações do usuário. Para esses componentes, você pode definir o texto de acessibi- lidade via programação. As páginas de documentação para desenvolvedores de Android

diferentes cores, elementos gráficos e sons, com base na localidade. Para cada localidade, você vai ter um conjunto separado e personalizado de recursos. Quando o usuário ativa o aplicativo, o Android localiza e carrega automaticamente os recursos correspondentes às configurações de localidade do dispositivo.

Adaptação local (localização)

Uma vantagem importante de definir seus valores de string como recursos de string (como fizemos neste aplicativo) é que você pode adaptar (ou “localizar”) facilmente seu aplicativo para a localidade, criando arquivos de recurso XML adicionais para esses recursos de string em outros idiomas. Em cada arquivo, você usa os mesmos nomes de recurso de string, mas fornece a string traduzida. O Android pode então escolher o ar- quivo de recursos apropriado, com base no idioma preferido do usuário do dispositivo.

Dando nomes às pastas de recursos adaptados para o local

Os arquivos de recurso XML que contêm strings adaptadas ao local são colocados em subpastas da pasta res do projeto. O Android usa um esquema de atribuição de nomes de pasta especial para escolher automaticamente os recursos adaptados ao local corretos – por exemplo, a pasta values-fr conteria um arquivo strings.xml para francês e a pasta values-es conteria um arquivo strings.xml para espanhol. Você também pode dar nomes a essas pastas com informações regionais – values-en-rUS conteria um arquivo strings.xml para o inglês norte-americano e values-en-rGB conteria um arquivo strings.xml para o inglês britânico. Se, para determinada loca- lidade, não forem fornecidos recursos adaptados, o Android usará os recursos padrão do aplicativo – isto é, os que estão na subpasta values da pasta res. Discutiremos essas convenções de atribuição de nomes de recurso alternativos com mais detalhes em capítulos posteriores.

Adicionando uma pasta de adaptação local ao projeto do aplicativo

Antes de adicionar uma versão adaptada à localidade do arquivo strings.xml do apli- cativo Welcome, contendo strings em espanhol, você precisa adicionar a pasta values-es ao projeto. Para isso:

1. Na janela Package Explorer do IDE, clique com o botão direito do mouse na pasta res do projeto e selecione New > Folder para exibir a caixa de diálogo New Folder.

Esses passos seriam repetidos, com uma pasta values-localidade com nome adequado para cada idioma que você quisesse permitir.

Copiando o arquivo strings.xml para a pasta values-es

A seguir, você vai copiar o arquivo strings.xml da pasta values para a pasta values-es. Para isso:

1. Na janela Package Explorer do IDE, abra a subpasta values da pasta res e, em segui- da, clique com o botão direito do mouse no arquivo strings.xml e selecione Copy

para copiar o arquivo.

2. Então, clique com o botão direito do mouse na pasta values-es e selecione Paste

para inserir a cópia de strings.xml na pasta.

Adaptando as strings para a localidade

Neste aplicativo, a interface gráfica do usuário contém um componente TextView que exibe uma string e duas strings de descrição de conteúdo para os componentes Image- View. Todas essas strings foram definidas como recursos de string no arquivo strings. xml. Agora você pode traduzir as strings na nova versão do arquivo strings.xml. As empresas de desenvolvimento de aplicativo frequentemente ou têm tradutores internos ou contratam outras empresas para fazer as traduções. Na verdade, no Google Play De- veloper Console – que você utiliza para publicar seus aplicativos na loja Google Play –, é possível encontrar empresas de serviços de tradução. Para obter mais informações sobre o Google Play Developer Console, consulte o Capítulo 9 e

developer.android.com/distribute/googleplay/publish/index.html Para este aplicativo, você vai substituir as strings

“Welcome to Android App Development!” “Android logo”

“Deitel double-thumbs-up bug logo” pelas strings em espanhol

“¡Bienvenido al Desarrollo de App Android!” “Logo de Android”

“El logo de Deitel que tiene el insecto con dedos pulgares hacia arriba” Para isso:

1. Na janela Package Explorer do IDE, clique duas vezes no arquivo strings.xml da pasta values-es a fim de exibir o editor Android Resources e, então, selecione o

recurso de string welcome (Fig. 2.26).

2. No campo Value, substitua a string em inglês "Welcome to Android App Develop- ment!" pela string em espanhol "¡Bienvenido al Desarrollo de App Android!". Se não puder digitar caracteres e símbolos especiais em espanhol em seu teclado, co- pie as strings em espanhol de nosso arquivo res/values-es/strings.xml na versão final do aplicativo Welcome (localizado na pasta WelcomeInternationalized com os exemplos do capítulo). Para colar a string em espanhol no campo Value, selecione a

string em inglês, clique nela com o botão direito do mouse e selecione Paste.

3. Em seguida, selecione o recurso android_logo e mude seu campo Value para "Logo de Android".

4. Por último, selecione o recurso deitel_logo e altere seu campo Value para "El logo de Deitel que tiene el insecto con dedos pulgares hacia arriba".

A guia Resources mostra a adaptação à localidade como uma bandeira

O código de adaptação à localidade es corresponde à subpasta values-es

da pasta res

Forneça a string traduzida do recurso selecionado no campo Value

Figura 2.26 Editor Android Resources com o recurso de string welcome selecionado.

Testando o aplicativo em espanhol

Para testar o aplicativo em espanhol, você precisa alterar as configurações de idioma no emulador do Android (ou em seu dispositivo). Para isso:

1. Toque no ícone Home ( ) no emulador ou em seu dispositivo.

2. Toque no ícone do lançador ( ) e, então, localize e toque no ícone do aplicativo

Settings ( ).

3. No aplicativo Settings, role até a seção PERSONAL e, então, toque em Language & input.*

4. Toque em Language (o primeiro item da lista) e selecione Español (España) na lista

de idiomas.

O emulador ou dispositivo muda sua configuração de idioma para espanhol e volta para as configurações de Language & input, as quais agora são exibidas em espanhol.

Em seguida, execute o aplicativo Welcome no IDE, o qual instala e executa a versão

internacionalizada. A Figura 2.27 mostra o aplicativo executando em espanhol. Quando o aplicativo começa a executar, o Android verifica as configurações de idioma do AVD (ou do dispositivo), determina que o AVD (ou dispositivo) está configurado com es- panhol e utiliza os recursos de string welcome, android_logo e deitel_logo definidos em res/values-es/strings.xml no aplicativo em execução. Observe, entretanto, que * N. de R. T. Neste livro, os nomes das opções de menu do Android serão mantidos em inglês porque as traduções não são padronizadas entre os diversos fabricantes.

o nome do aplicativo ainda aparece em inglês na barra de ação na parte superior do aplicativo. Isso porque não fornecemos uma versão adaptada ao local para o recurso de string app_name no arquivo res/values-es/strings.xml. Lembre-se de que, quando o Android não consegue encontrar uma versão adaptada ao local de um recurso de string, ele usa a versão padrão do arquivo res/values/strings.xml.

Erro de programação comum 2.1

Modificar os nomes de recursos pode levar a erros de tempo de execução. O Android usa os nomes de recurso padrão ao carregar recursos adaptados a localidades. Quando criar um arquivo de recurso adaptado ao local, certifique-se de modificar somente os valores dos recursos, não seus nomes.

Figura 2.27 Aplicativo Welcome executando em espanhol no AVD do Nexus 4.

Retornando o AVD (ou dispositivo) para o inglês

Para retornar o AVD (ou dispositivo) para o inglês:

1. Toque no ícone Home ( ) no emulador ou em seu dispositivo.

2. Toque no ícone do lançador ( ) e, então, localize e toque no ícone do aplicativo

Settings ( ) – agora o aplicativo é chamado Ajustes, em espanhol.

3. Toque no item Idioma y entrada de texto para acessar as configurações de idioma.

4. Toque no item Idioma e, então, na lista de idiomas, selecione English (United States).

TalkBack e adaptação para o local

Atualmente, o recurso TalkBack aceita inglês, espanhol, italiano, francês e alemão. Se você executar o aplicativo Welcome em um dispositivo com espanhol especificado como

2.9

Para finalizar

Neste capítulo, você usou o IDE Android Developer Tools para construir o aplicativo

Welcome que exibia uma mensagem de boas-vindas e duas imagens sem escrever código.

Criou uma interface gráfica de usuário simples usando o editor Graphical Layout do IDE

e configurou propriedades dos componentes da interface usando a janela Properties.

O aplicativo apresentou texto em um componente TextView e imagens em com- ponentes ImageView. Você modificou o componente TextView da interface de usuário padrão para exibir o texto do aplicativo centralizado na interface, com um tamanho de fonte maior e em uma das cores de tema padrão. Também usou o componente Palette

dos controles da interface do usuário do editor Graphical Layout para arrastar e soltar

componentes ImageView na interface. Seguindo as melhores práticas, você definiu todas as strings e valores numéricos em arquivos de recurso na pasta res do projeto.

Aprendeu que o Android possui recursos de acessibilidade para ajudar pessoas com vários tipos de deficiências a usar seus dispositivos. Mostramos como habilitar o recurso TalkBack do Android para permitir que um dispositivo pronuncie o texto da tela ou o texto que você fornece a fim de ajudar o usuário a entender o objetivo e o conteúdo de um componente da interface gráfica. Discutimos o recurso Explore by Touch do Android, o qual permite ao usuário tocar na tela para ouvir o aplicativo TalkBack falar o que está na tela próximo ao local do toque. Para os componentes ImageView do aplicativo, você forneceu descrições do conteúdo que podem ser usadas com TalkBack e Explore by Touch.

Por fim, você aprendeu a usar os recursos de internacionalização do Android para atingir o maior público possível para seus aplicativos. Você adaptou o aplicativo Welco- me para a localidade com strings em espanhol para o texto do componente TextView e strings de acessibilidade dos componentes ImageView, e testou o aplicativo em um AVD configurado para espanhol.

O desenvolvimento com Android é uma combinação de projeto de interface grá- fica do usuário e codificação em Java. No próximo capítulo, você vai desenvolver um aplicativo simples para calcular gorjetas chamado de TIP Calculator, utilizando o editor Graphical Layout para criar a interface gráfica do usuário visualmente e utilizando a pro-

Objetivos

Neste capítulo, você vai:

䊏 Projetar uma interface gráfica do usuário usando componentes LinearLayout e GridLayout.

䊏 Usar a janela Outline do IDE para adicionar elementos de interface gráfica do usuário a componentes LinearLayout e GridLayout.

䊏 Usar componentes de interface gráfica do usuário TextView, EditText e SeekBar.

䊏 Usar recursos de programação orientada a objetos com Java, incluindo classes, objetos, interfaces, classes internas anônimas e herança para adicionar funcionalidades a um aplicativo Android.

䊏 Interagir com elementos da interface gráfica do usuário via programação para alterar o texto que eles exibem.

䊏 Usar tratamento de eventos para responder às interações do usuário com componentes EditText e SeekBar.

䊏 Especificar que o teclado numérico sempre deve aparecer quando um aplicativo estiver executando.

䊏 Especificar que um aplicativo suporta apenas orientação retrato.