android学习code3 布局上

andriod系统是一个基于事件驱动行为一种系统
andirod添加事件驱动有四种方式

第一种自定义一个内部类实现OnclickListener
private class MyListenner implements OnclickListener{
 public void OnClick(View w){
  
 }

}
然后onCreate 方法

调用Button dail=(Button)this.findByViewId(R.Id.et_numer);
dail.setOnClickListnener(new MyListenner());

第二种方式通过直接调用匿名匿名内部类使用

第三种 MainActivy直接实现OnclickListener接口
实现Onclick()方法

第四种自定义函数,然后进行业务逻辑的使用

实列1 电话拨号实列
package com.org.login;

import com.org.msg.MessageTools;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
/**
 * 主见面的activty
 * @author wangsl
 *
 */
public class MainActivity extends Activity implements OnClickListener{
 private String tag="MainActivity";
 private EditText ets_number; //输入电话号码
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.tel_phone_main);
  Button bt_telphone=(Button) findViewById(R.id.bt_telphone); //如果Button类型,需要Button类型接收
  
  //监听事件的多种写法,第一种自定义内部类
  //bt_telphone.setOnClickListener(new MyListenner());
  
  //第二种写法调用匿名内部类使用
//  bt_telphone.setOnClickListener(new OnClickListener() {
//   
//   @Override
//   public void onClick(View v) {
//    // TODO Auto-generated method stub
//    
//   }
//  });
  
  //第三种类自身实现Onclick接口  MainActivity extends Activity implements OnClickListener
  ets_number=(EditText) findViewById(R.id.ets_number);
  bt_telphone.setOnClickListener(this);
  
  //第四种自定义一个方法调用
  
 }
 
 
 
 /**
  * 自定义内容部类
  * @author wangsl
  *
  */
 private class MyListenner implements OnClickListener{

@Override
  public void onClick(View v) {
   // TODO Auto-generated method stub
   callPhone();
   
   
  }

}
 
 public void sendPhone(){
  
  callPhone();
 }
 
 
 /*
  * 拨打电话
  */
 public void callPhone() {
  String number=ets_number.getText().toString();
  //System.out.print("number==="+number);
  //Log.e(tag, "number==="+number);
  if(TextUtils.isEmpty(number)){ // TextUtil字符比较工具类需经常使用
   Toast.makeText(MainActivity.this, MessageTools.TEL_PHOME_ERROR_MES, Toast.LENGTH_SHORT).show(); //Toast是一个消息对象
   return ;
  }
  
  //电话拨打有关对象
  Intent intent=new Intent();
  intent.setAction(intent.ACTION_CALL); //执行拨打电话操作
  intent.setData(Uri.parse("tel:"+number)); //执行输入拨打电话号码
  startActivity(intent); //开始拨打
 }
 
 
 
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  callPhone();
 }
 
 
}

布局tel_phone_main.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="com.org.login.MainActivity" >

<TextView
        android:id="@+id/tv_input_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:text="@string/please_input_number" />

<EditText
        android:id="@+id/ets_number"
        android:lines="1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/tv_input_number"
        android:inputType="phone"
        android:labelFor="@+id/et_number" >
    </EditText>

<Button
        android:id="@+id/bt_telphone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/ets_number"
        android:layout_marginTop="16dp"
        android:text="@string/tel_phone_btn" />

</RelativeLayout>

时间: 2024-10-12 07:48:45

android学习code3 布局上的相关文章

Android学习5&mdash;布局简介

Android界面的布局主要有四种,分别为RelativeLayout.LinearLayout.TableLayout.FrameLayout,接下来分别介绍这些布局如何使用(为了简单起见,接下来的介绍工作中,我分别附上布局文件的代码以及效果图,供大家参考) 一:RelativeLayout <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="htt

android 学习 之 布局(上)

学习安卓布局前,先了解三个属性值: 1.fill_parent: 设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间 2.match_parent: Android2.2中match_parent和fill_parent是一个意思 .两个参数意思一样,match_parent更贴切,于是从2.2开始两个词都可以用.那么如果考虑低版本的使用情况你就需要用fill_parent了 3.wrap_content:         设置一个视图的尺寸为wrap

Android学习——LinearLayout布局实现居中、左对齐、右对齐

android:orientation="vertical"表示该布局下的元素垂直排列: 在整体垂直排列的基础上想要实现内部水平排列,则在整体LinearLayout布局下再创建一个LinearLayout布局. 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/r

Android学习笔记-----------布局(一)

LinearLayout(线性布局) 线性布局是android开发中的常用布局. 通过设置android:orientation属性来确定线性布局的方向,vertical为垂直方向,horizontal为水平方向. 由于布局的默认对齐方式是左上,若想设置控件的对齐方式,可以通过设置android:gravity属性和android:layout_gravity属性来确定控件的对齐方式. android:gravity属性是设置本元素中的子元素相对于它的对齐方式. android:layout_g

Android学习----五大布局

1.LinearLayout 线性布局 android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 vertical gravity 控制当前控件内容显示区域 layout_gravity 当前控件在父元素的位置 Layout_weightSum Layout_weight 额外空间分配(权重) android:visibility="invisible" 控制布局是否显示 显示 visible 不显示

Android学习笔记-----------布局(四)

GridLayout(网格布局) 网格布局是android4.0之后出现的新布局,在使用可能会报错,需要将清单文件中的android:minSdkVersion设置为14 网格布局和LinerLayout一样具有水平方向和垂直方向两种布局方式.当控件排满后会自动换行或者换列. 使用前需要先指定rowCount(行数),columnCount(列数) 通过组件的layout_row和layout_column属性指定控件的行号和列号,这里要注意索引是从0开始的 通过组件的layout_column

android 学习Layout布局的使用

android 常用布局 LinearLayout(线性布局) 线性的 垂直的 水平的RelativeLaytout(相对布局) 最灵活的TableLayout(表格布局) 使用GridView代替AbsoluteLayout(绝对布局) 最好不要使用 绝对坐标Framelayout(帧布局) 布局叠加时使用 比如视频缓冲的环形滚动条 使用频次Absolute<Table<Frame<Linear<Relative android布局原则(1)尽量多的使用线性布局和相对布局不要使用

Android学习之布局

Android常见的五大布局: 1.LinearLayout;水平或垂直布局 2.FrameLayout;从屏幕左上方布局 3.TableLayout;行列布局 4.RelativeLayout;相对其他组件布局 5.AbsoluteLayout;绝对坐标布局 源码下载链接:Android布局 效果图: MainActivity: LinearActivity: FrameActivity: TableActivity: RelativeLayout: "线性"按钮实现跳转部分代码,其

android 学习 之 布局(下)LinearLayout,RelativeLayout,TableLayout,FrameLayout

<LinearLayout 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:background=