Android布局之LinearLayout
转:http://www.iteye.com/topic/1114402
LinearLayout :线性布局
最常用的一种布局方式,所有子控件的对齐方式,取决于如何定义 orientation的属性:vertical垂直方向 ,如果按照这种方向所有的子控件将按照垂直的方式分布在布局上,每行只允许有一个子元素,horizontal水平方向 ,这时子控件将会以水平的方向分布在布局中。以下线性布局的简单例子。先上图:
<?xml version="1.0" encoding="utf-8"?> <!--线性布局,最外面包裹一个水平线性布局--> <!--orientation表示线性布局的方向,horizontal:水平方向 vertical:垂直方向 --> <!-- @代表R类,如果是自定义的ID 则用@+id/××× 表示,如果是引用R类的资源则@string/×××--> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:background="@drawable/bg" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/linear" /> <Button android:id="@+id/button" android:layout_width="183dp" android:layout_height="wrap_content" android:text="@string/button" /> <ImageButton android:id="@+id/imagebutton" android:layout_width="180dp" android:layout_height="48dp" android:src="@drawable/imagebutton" /> </LinearLayout> <!-- android:layout_gravity与android:gravity区别,拿一个button作为例子 前者的意思,是这个按钮的位置,如果设置为right则表示这个按钮整体位置靠右; 后者的意思,这个按钮上显示内容的位置。 --> <LinearLayout android:gravity="right" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/imageview" android:layout_marginTop="5dp" android:src="@drawable/imageview" android:layout_width="131dp" android:layout_height="131dp" /> </LinearLayout> </LinearLayout>
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.linearlayout);
//实例化以下控件,并设置监听事件,传入实现了OnClickListener接口的对象
findViewById(R.id.button).setOnClickListener(this);
findViewById(R.id.imagebutton).setOnClickListener(this);
findViewById(R.id.imageview).setOnClickListener(this);
}
/**
* 点击事件判断所点击是哪个控件并toast提示。
*/
@Override
public void onClick(View v) {
int id=v.getId();//得到所点对象ID
if(id==R.id.button){
Toast.makeText(getApplicationContext(), R.string.promptButton, 1).show();
}else if(id==R.id.imagebutton){
Toast.makeText(getApplicationContext(), R.string.promptImageButton, 1).show();
}else if(id==R.id.imageview){
Toast.makeText(getApplicationContext(), R.string.promptImageView, 1).show();
}
}
}