Como adicionar uma imagem ao seu Aplicativo para Android

Adicionando imagens a um aplicativo Android é simples: arraste-os da pasta onde estão armazenados na src / main / res / drawable-xxhdpi pasta, como mostrado na figura a seguir.
Certifique-se de colocar as duas imagens na src / main / res / drawable-xxhdpi pasta.
Quando você arrastar imagens para Android Studio, regenera o build / gerado pasta, e o R.java arquivo é atualizado para incluir uma referência às duas novas imagens adicionadas por você.
Você pode usar as referências a esses recursos para adicionar imagens ao seu layout no código ou na definição XML. Você declará-los no layout XML.
Para adicionar uma imagem para o layout, digite o seguinte no activity_main.xml arquivo, substituindo o conteúdo atual do arquivo:
<? Xml version = "1.0" encoding = "utf-8"?>
<FrameLayout xmlns: android = "http://schemas.android.com/apk/res/android"
             android: id = "@ + id / content"
             android: layout_width = "match_parent"
             android: layout_height = "match_parent"
             android: primeiro plano = "android:? attr / selectableItemBackground" >

    <ImageView
        android: id = "@ + id / phone_icon"
        android: layout_width = "wrap_content"
        android: layout_height = "wrap_content"
        android: layout_gravity = "center"
        android: src = "@ drawable / ringer_on" />

</ FrameLayout>
Este código adiciona o ImageView dentro do FrameLayout . Um ImageView permite projetar uma imagem para a tela do dispositivo.
Como definir as propriedades de imagem
Seu ImageView contém alguns novos atributos de parâmetro:
O android: id = "@ + id / phone_icon" propriedade: O ID de atributo define o identificador exclusivo para a vista no sistema Android.
O layout_width e layout_height propriedades: Você usou layout_width e layout_height em sua FrameLayout , mas lá você configurá-los para match_parent .
Para o ImageView , você quer o ImageView size 's para ser o mesmo que a imagem está mostrando, então configurá-lo para ter uma layout_width e layout_height de wrap_content para "quebrar" o conteúdo dentro da vista.
Se você tivesse definir a altura e largura para ser match_parent , Android teria escalado a imagem para cima muito grande para ocupar o ecrã inteiro. Tente!
O layout_gravity propriedade: Esta propriedade define como colocar o ponto de vista (tanto a sua x - e y -axes) com seu pai.
Neste exemplo, o valor é definido como o centro constante.
Desde o ImageView é menor do que o FrameLayout , usando layout_gravity = center instrui o sistema Android para colocar o ImageView no centro da FrameLayout em vez de no local padrão do canto superior esquerdo.
Você pode usar muitas outras constantes, tais como center_vertical, center_horizontal , superior, inferior, esquerda, direita, e muitos mais. Consulte a documentação FrameLayout.LayoutParams Android para uma lista completa.
O android: src = "@ drawable / ringer_on" propriedade:
Você usa esta propriedade para definir a imagem que você quer aparecer na tela.
Observe o valor do src propriedade - "@ drawable / ringer_on" . Você pode fazer referência a recursos resgatáveis ​​via XML, digitando o símbolo "arroba" ( @ ) e do tipo e ID do recurso que você deseja.
Certos atributos Android começam com a layout_ prefixo - android: layout_width , android: layout_height e android: layout_ gravidade são exemplos.
O layout_ convention diz que o atributo refere-se ao modo de exibição pai.
Os atributos que não começam com layout_ pertencem ao próprio ponto de vista.
Assim, o Android, do ImageView: src atributo informa o ImageView qual a imagem de usar, mas o seu android: layout_gravity conta a ImageView pai 's (o FrameLayout , neste caso) para esquematizar o ImageView no centro do pai.
Definir recursos resgatáveis
Em seu ImageView , você define a sua imagem src para @ drawable / ringer_on.
Você não digitar @ drawable-xxhdpi / ringer_on para o identificador de recursos drawable, porque é o trabalho do Android (não o seu) para descobrir a imagem tamanho correto para a tela do dispositivo atual.
Em tempo de execução, Android determina qual a densidade é correto para esse dispositivo, e carrega os drawables correspondente mais próximo.
Por exemplo, se o aplicativo está sendo executado em um dispositivo de média densidade e o recurso drawable solicitada está disponível no drawable-mdpi pasta, Android usa esse recurso.
Caso contrário, ele usa a correspondência mais próxima que pode encontrar.
Suporte para vários tamanhos de tela e densidades é um tema amplo (e pode ser complexo!).
O ringer_on parte do identificador identifica o drawable que deseja usar.
O nome do arquivo de imagem é ringer_on.png.
Se você fosse para abrir o R.java arquivo no build / gerado pasta, você veria um campo estático com o nome phone_on.
Você pode usar a conclusão de código para ver os recursos disponíveis no Android Studio.
Coloque o cursor diretamente após @ drawable / na src propriedade do ImageView no editor Android Studio, e pressione Ctrl + barra de espaço.
A janela de conclusão de código aberto, como mostrado.
Os outros nomes de recursos na janela são outras opções que você pode escolher para o src parte da definição drawable.