Olá Pessoal,
Hoje vou apresentar alguns exemplo de utilização de shape esse que é o recurso responsável por criar efeitos gradientes, cantos arredondados entre outros em nosso componentes.
Para criar um shape devemos primeiro criar a pasta drawable dentro da pasta res.
Para esse projeto irei criar um shape para cada componente (LinearLayout, Button, TextView e TextView2).
Abaixo segue um print da estrutura do projeto.
Imagem utilizada de background do layout lunai.png:
Abaixo seguem todos os arquivos utilizados.
Arquivo shapebutton.xml
Arquivo shapelinear.xml
Arquivo shapetextview.xml
Arquivo shapetextview2.xml
Arquivo main.xml
Abaixo segue uma imagem com o resultado do layout.
Agora uma breve explicação sobre os principais atributos de um shape:
Stroke = desenha uma borda sobre o componente
Corners = define os canots arredondados
Solid = define a cor de fundo do componente
Por enquanto é isso pessoal, com esses exemplos passados já podemos criar projetos mais elegantes.
Desenvolvi o jogo Circus Puzzle Free ele é um quebra-cabeça e está publicado no Android Market, agradeço a todos que baixarem, jogarem e comentarem.
Hoje vou apresentar alguns exemplo de utilização de shape esse que é o recurso responsável por criar efeitos gradientes, cantos arredondados entre outros em nosso componentes.
Para criar um shape devemos primeiro criar a pasta drawable dentro da pasta res.
Para esse projeto irei criar um shape para cada componente (LinearLayout, Button, TextView e TextView2).
Abaixo segue um print da estrutura do projeto.
Imagem utilizada de background do layout lunai.png:
Abaixo seguem todos os arquivos utilizados.
Arquivo shapebutton.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#FFFAFA" android:endColor="#00008B" android:angle="270" /> <stroke android:width="2dp" android:color="#ffffff" /> <corners android:radius="50dp" /> <padding android:left="15dp" android:top="15dp" android:right="15dp" android:bottom="15dp" /> </shape>
Arquivo shapelinear.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#DDff0000" android:endColor="#DDFFA500" android:angle="0"/> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape>
Arquivo shapetextview.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#551A8B" /> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" /> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape>
Arquivo shapetextview2.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#80000000" /> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" /> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape>
Arquivo main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/lunai" android:orientation="vertical" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_marginLeft="20dp" android:background="@drawable/shapelinear" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="TextView com fundo cheio" android:background="@drawable/shapetextview" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="Botão Padrão 1" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:layout_marginBottom="20dp" android:text="Botão Padrão 2" /> </LinearLayout> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/linearLayout1" android:layout_below="@+id/linearLayout1" android:background="@drawable/shapebutton" android:layout_marginTop="20dp" android:text="Botão com fundo gradiente e borda branca" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/linearLayout1" android:layout_centerHorizontal="true" android:layout_marginBottom="20dp" android:background="@drawable/shapetextview2" android:text="textview com fundo transparente" android:textColor="@android:color/white" /> </RelativeLayout>
Abaixo segue uma imagem com o resultado do layout.
Agora uma breve explicação sobre os principais atributos de um shape:
Stroke = desenha uma borda sobre o componente
Corners = define os canots arredondados
Solid = define a cor de fundo do componente
Por enquanto é isso pessoal, com esses exemplos passados já podemos criar projetos mais elegantes.
Desenvolvi o jogo Circus Puzzle Free ele é um quebra-cabeça e está publicado no Android Market, agradeço a todos que baixarem, jogarem e comentarem.
Desenv com qualidade!
2 comentários:
Parabéns ! Tenho uma dúvida, como posso manter o efeito do Click ? Ou seja, ao clicar no botão acender um luz indicando que foi clicado. Entende ? Abraços
Postar um comentário