android之旅(二)常见布局及简单事件处理

今天我学习了下常见的布局上一讲已经接触了线性布局 这次我们主要来学学: 包括表格布局  相对布局 单帧布局 坐标布局 还做了一个常用控件的事件处理

 1表格布局:(TableLayout是以行列的形式来管理子控件的 在表格布局的每一行可以是一个view控件或者是一个TableRow控件 TableRow控件中还可以添加子控件

先来看下效果图


<!--[if !supportLineBreakNewLine]-->

  <!--[endif]-->
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
	<TextView  
	    android:layout_width="fill_parent" 
	    android:layout_height="wrap_content" 
	    android:gravity="center"
	    android:text="表头"
	/>
	<TableRow
		android:gravity="center"
	>
		<TextView
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"			
			android:text="第0列"
		>
		</TextView>
		<TextView
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"			
			android:text="第1列"
		>
		</TextView>
	</TableRow>
	<TableRow
		android:gravity="center"
	>
		<Button
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"	
			android:text="按钮1"
		/>
		<Button
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"			
			android:text="按钮2"
		/>
	</TableRow>
</TableLayout>  相对布局

 <?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"
    >
    <Button
    	android:id="@+id/button1"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="中间的按钮,很长很长很长"
    	android:layout_centerInParent="true"
    >
    </Button>
    <Button
    	android:id="@+id/button2"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="上面的按钮"
    	android:layout_above="@id/button1"
    	android:layout_alignLeft="@id/button1"
    >
    </Button>
    <Button
    	android:id="@+id/button3"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="下面的按钮"
    	android:layout_below="@id/button1"
    	android:layout_alignRight="@id/button1"
    >
    </Button>    
</RelativeLayout>
 单帧布局
 


 <?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ImageView
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:src="@drawable/big"
    >
    </ImageView>
    <ImageView
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:src="@drawable/center"    
    >
    </ImageView>
    <ImageView
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:src="@drawable/small"    
    >
    </ImageView>    
</FrameLayout>

  
坐标布局

 

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="用户名:"
    	android:layout_x="10px"
    	android:layout_y="20px"
    >
    </TextView>
    <EditText
    	android:layout_width="90px"
    	android:layout_height="wrap_content"
    	android:layout_x="70px"
    	android:layout_y="10px"    	
    >
    </EditText>
    <TextView
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="密    码:"
    	android:layout_x="10px"
    	android:layout_y="75px"
    >
    </TextView>
    <EditText
    	android:layout_width="90px"
    	android:layout_height="wrap_content"
    	android:layout_x="70px"
    	android:layout_y="60px"    	
    >
    </EditText>    
</AbsoluteLayout>



再写一个事件监听的程序

效果图


布局文件main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
	<TextView
		android:id="@+id/textView"
	    android:layout_width="fill_parent" 
	    android:layout_height="wrap_content" 
	    android:text="您没有点击任何按钮"
	/>
	<Button
		android:id="@+id/button"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="普通按钮"
	>
	</Button> 
	<ImageButton
		android:id="@+id/imageButton"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:src="@drawable/img"
	>
	</ImageButton>
	<ToggleButton
		android:id="@+id/toggleButton"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
	>
	</ToggleButton>
</LinearLayout>

 
事件处理的文件 MyView.java

先看效果图

 


package wyf.ytl;
import android.app.Activity;//引入相关的包
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.ToggleButton;
public class Sample_2_6 extends Activity implements OnClickListener{
	Button button;//普通按钮
	ImageButton imageButton;//图片按钮
	ToggleButton toggleButton;//开关按钮
	TextView textView;//文本控件
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {//回调方法
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);//设置显示的View
        textView = (TextView) this.findViewById(R.id.textView);
        button = (Button) this.findViewById(R.id.button);
        button.setOnClickListener(this);//为button添加监听器
        imageButton = (ImageButton) this.findViewById(R.id.imageButton);
        imageButton.setOnClickListener(this);//为imageButton添加监听器
        toggleButton = (ToggleButton) this.findViewById(R.id.toggleButton);
        toggleButton.setOnClickListener(this);//为toggleButton添加监听器
    }
	public void onClick(View v) {//重写的事件处理回调方法
		if(v == button){//点击的是普通按钮
			textView.setText("您点击的是普通按钮");
		}
		else if(v == imageButton){//点击的是图片按钮
			textView.setText("您点击的是图片按钮");
		}
		else if(v == toggleButton){//点击的是开关按钮
			textView.setText("您点击的是开关按钮");
		}		
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值