Android中的集中常用布局方式和按钮事件的处理方式

Android中的集中常用布局方式和按钮事件的处理方式

一、Android中监听点击事件的三种方式

// 方式一
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {

<span style="white-space:pre">	</span>@Override
<span style="white-space:pre">	</span>public void onClick(View v) {
		// TODO Auto-generated method stub
		System.out.println("按钮被点击了");
	}
});
<pre name="code" class="java">// 方式二
// 实现OnClickListener接口
Button btn2 = (Button) findViewById(R.id.button2);
btn2.setOnClickListener(this);
// 实现接口方法
@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    System.out.println("点击了按钮");
}
 
// 方式三  button在layout中绑定事件onClick="clickButton"  包括多个按钮触发同一个方法根据ID来判断点击的按钮
    public void clickButton(View v) {
    	int btnId = v.getId();
		switch (btnId) {
		case R.id.button1:
			System.out.println("button3");
			break;
		case R.id.button2:
			System.out.println("button4");
			break;
		case R.id.button3:
			System.out.println("button5");
			break;
		}
	}

二、Android中的几种布局方式

1、相对布局

RelativeLayout
组件默认左对齐、顶部对齐
设置组件在指定组件的右边
android:layout_toRightOf="@id/tv1"
设置在指定组件的下边/上边
android:layout_below="@id/tv1"
android:layout_above="@id/tv1"
设置右对齐父元素
android:layout_alignParentRight="true"
设置与指定组件右对齐
android:layout_alignRight="@id/tv1"
设置在父控件的中心
android:layout_centerInParent="true"

2、线性布局
LinearLayout
指定各个节点的排列方向
android:orientation="horizontal" // 水平
android:orientation="vertical" // 垂直
设置右对齐
android:layout_gravity="right"
当竖直布局时,只能左右对齐和水平居中,顶部底部对齐竖直居中无效
当水平布局时,只能顶部底部对齐和竖直居中
使用match_parent时注意不要把其他组件顶出去
线性布局非常重要的一个属性:权重
android:layout_weight="1"
权重设置的是按比例分配剩余的空间
3、帧布局
FrameLayout
 默认组件都是左对齐和顶部对齐,每个组件相当于一个div
 可以更改对齐方式
android:layout_gravity="bottom"
不能相对于其他组件布局
4、表格布局
TableLayout
每个<TableRow/>节点是一行,它的每个子节点是一列
表格布局中的节点可以不设置宽高,因为设置了也无效
根节点<TableLayout/>的子节点宽为匹配父元素,高为包裹内容
<TableRow/>节点的子节点宽为包裹内容,高为包裹内容
以上默认属性无法修改
设置列数
android:layout_column="1"
根节点中可以设置以下属性,表示让第1列拉伸填满屏幕宽度的剩余空间
android:stretchColumns="1"
5、绝对布局
AbsoluteLayout
直接指定组件的x、y坐标
android:layout_x="100dp"
android:layout_y="100dp"

三、拨打电话方式

添加权限:

<uses-permission android:name="android.permission.CALL_PHONE"/>

// 创建意图对象
Intent intent = new Intent();
// 把动作封装到意图对象中
intent.setAction(intent.ACTION_CALL);
// 设置打给谁
intent.setData(Uri.parse("tel:" + phoneNumberString));
// 把动作告诉系统
startActivity(intent);

四、发送短信

需要添加权限:

<uses-permissionandroid:name="android.permission.SEND_SMS"/>

// 获取电话号码和内容
EditText phoneText = (EditText) findViewById(R.id.phoneNumber);
EditText contentText = (EditText) findViewById(R.id.content);
String number = phoneText.getText().toString();
String content = contentText.getText().toString();
SmsManager message = SmsManager.getDefault();
ArrayList<String> messageArray = message.divideMessage(content);
// 短信内容过长,分条发送
for (String msg : messageArray) {
   // 发送
   message.sendTextMessage(number, null, msg, null, null);
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值