Android布局之LinearLayout
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提示。 */@Overridepublic void onClick(View v) {int id=v.getId();//得到所点对象IDif(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();}}}?
?