Portfólio de Android
Por: kamys17 • 6/12/2017 • 1.103 Palavras (5 Páginas) • 305 Visualizações
...
Exemplo:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/texto1" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textoBotao"/>
e) RelativeLayout
Neste layout cada objeto recebe definição especifica de posicionamento, orientado a outros objetos. Neste caso, é indicado se objeto está a direita, a esquerda, acima ou abaixo de outro objeto. É necessários que todos os objetos possuam um id para referência.
Exemplo:
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textoBotao" />
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/bt1"
android:layout_toRightOf="@id/bt1"
android:text="@string/texto1" />
f) GridView
Neste tipo de layout os objetos, normalmente imagens, são posicionados em grade, de forma que os mesmos fiquem organizados semelhante a uma tabela. Porém o GridView trabalha com métodos que importam os objetos de uma lista, setAdapter e AdapterView.
No arquivo XML é inserido apenas o objeto GridView com seus atributos.
As imagens a serem usadas são importadas na pasta res/drawable.
Então no arquivo Java referente a esta classe é criada a ação para os objetos e depois é criado uma nova classe para definir as imagens (objetos) que serão inseridos na tela principal.
Dessa forma todos os objetos são adicionados pela segunda classe criada, e não pela principal.
Exemplo:
Principal.XML
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
Principal.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView> parent, View v,
int position, long id) {
Toast.makeText(HelloGridView.this, "" + position,
Toast.LENGTH_SHORT).show();
}
});
}
NovaClasse.java
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
// cria uma nova ImageView para cada item indicado pelo Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// referência para as imagens
private Integer[] mThumbIds = {
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6,
...