相对布局
用的非常多,如果你使用多个线性布局,你应该考虑相对布局。相对布局靠空间id关联
//——————————————————————-
线性布局:
如:线性垂直布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#555"
android:orientation="vertical" >
<!--
android:orientation="vertical"
控件
android:gravity="center_vertical"
android:layout_marginLeft="50dp" 离布局界面左边距
android:layout_marginTop="30dp"
android:padding="100dp" n控件内边局
android:textSize="30dp"字体大小
-->
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="30dp"
android:padding="10dp"
android:textSize="30dp"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="默认填写"
android:textColor="#111">
<requestFocus />
</EditText>
</LinearLayout>
GridView 图片表格控件
首先往drawable中加入9张图片
xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:numColumns="2" >
</GridView>
</RelativeLayout
package com.example.android003;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
private GridView gridview;
private ImageAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridview = (GridView) findViewById(R.id.gridView1);
adapter = new ImageAdapter();
gridview.setAdapter(adapter);// 建立适配器
// 点击监听事件
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO 自动生成的方法存根
Toast.makeText(MainActivity.this, "-->" + arg2, 1).show();
}
});
}
// 获取图片资源
private int[] images = { R.drawable.a1, R.drawable.a2, R.drawable.a3,
R.drawable.a4, R.drawable.a5, R.drawable.a6, R.drawable.a7,
R.drawable.a8, R.drawable.a9 };// 声明数组
// ===========================
public class ImageAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO 自动生成的方法存根
return images.length;
}
@Override
public Object getItem(int position) {
// TODO 自动生成的方法存根
return images[position];// 返回id的位置
}
@Override
public long getItemId(int position) {
// TODO 自动生成的方法存根
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 手工创建view对象
// 加载xml
ImageView imageview = null;
if (convertView == null) {
imageview = new ImageView(MainActivity.this);
} else {
imageview = (ImageView) convertView;
}
// 设置gridview显示的间距
imageview.setLayoutParams(new GridView.LayoutParams(85, 85));
imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageview.setPadding(8, 8, 8, 8);
imageview.setImageResource(images[position]);
return imageview;
}
}
}