按钮控件的使用

一.按钮的使用方法

1.在res/values目录下的strings.xml文件的<resources>.......</resources>之间添加这样一行代码

 <string name="btn1">按钮</string>   

它的作用是声明名为btn1的字符串资源,这个字符串就是“按钮”

2.在res/layout目录下的main.xml(这是默认名字)文件中添加一个Button控件,只需添加这样几行代码

<Button android:id="@+id/btn"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:text="@string/btn1"
     />       

作用是 声明一个Button控件 ,当然具体样式你可以改

3.接下来就是按钮功能的实现

在要是用这个按钮的java源文件中

 Button btn = (Button)findViewById(R.id.btn);  //获取Button控件对象
        btn.setOnClickListener(new OnClickListener(){  //添加OnClickListener监听器
   @Override
   public void onClick(View v) {   

   //在这里重写onClick方法,实现你想要的功能
   
   }
        });

这样应该就可以了。


控件响应事件还可以这样写

......

 btn.setOnClickListener(new btnclock()); 

    }
          class btnclock implements OnClickListener  //定义一个内部类实现监听接口
       {
      public void onClick(View v)
       {
      Ex03_02Activity.this.setTitle("改变标题");
      txt.setText(R.string.newStr);  
      }
      }

二.文本控件的使用

文本控件主要有TextView和EditText,TextView用来显示文字,EditText用来输入编辑,下面介绍它们的使用。

1.在res/values目录下的strings.xml文件的<resources>.......</resources>之间自定义你的字符串资源,这些字符串资源会被作为TextView和EditText控件的显示内容。

例如

<resources>
    <string name="hello">Hello World, Sample_4_1!</string>
    <string name="app_name">Sample_4_1</string>
    <string name="tvEmail">邮箱地址\n(如:wyf12345678@wyf.com)</string>
    <string name="etEmail">请输入电子邮件地址</string>
    <string name="tvPhone">电话号码\n(如:123412341234567890)</string>
    <string name="etPhone">请输入电话号码</string>
    <string name="etInfo">此处显示登记信息</string>
</resources>

2.在res/layout目录下的main.xml(这是默认名字)文件中添加文本控件

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:shrinkColumns="0,2"
 >           <!-- 声明一个TableLayout -->
 <TableRow
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  >          <!-- 声明一个TableRow控件 -->
  <TextView android:id="@+id/tvEmail"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/tvEmail"
   android:ellipsize="end"
   android:autoLink="email"
   />          <!-- 声明一个TextView控件 -->
  <EditText android:id="@+id/etEmail"
   android:hint="@string/etEmail"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:selectAllOnFocus="true"
   />          <!-- 声明一个EditText控件 -->
 </TableRow>
 <TableRow
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  >          <!-- 声明一个TableRow -->
 <TextView android:id="@+id/tvPhone"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/tvPhone"
   android:ellipsize="middle"
   android:autoLink="phone"
   />          <!-- 声明一个TextView控件 -->
 <EditText android:id="@+id/etPhone"
   android:hint="@string/etPhone"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:selectAllOnFocus="true"
   android:maxWidth="160px"
   android:phoneNumber="true"
   android:singleLine="true"
   />          <!-- 声明一个EditText控件 -->
 </TableRow>
 <EditText android:id="@+id/etInfo"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:editable="false"
  android:hint="@string/etInfo"
  android:cursorVisible="false"
  android:lines="5"
  android:shadowColor="@color/shadow"
  android:shadowDx="2.5"
  android:shadowDy="2.5"
  android:shadowRadius="5.0"
  />          <!-- 声明一个EditText控件 -->
</TableLayout>

解释下,TableRow设置显示效果,例如tvEmail与etEmail将在一行显示,而tvPhone与etPhone将在另一行显示。

3.显示与使用文本控件

这里EditText还可以增加监听器

例如在src目录下的java文件中可以写如下代码

public void onCreate(Bundle savedInstanceState) {  //重写onCreate方法
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      //设置当前屏幕
        EditText etEmail = (EditText)findViewById(R.id.etEmail);
        etEmail.setOnKeyListener(myOnKeyListener);   //为EditText控件设置OnKeyListner监听器
    }
    private OnKeyListener myOnKeyListener = new OnKeyListener(){ //自定义的OnKeyListner对象
  @Override
  public boolean onKey(View v, int keyCode, KeyEvent event) { //重写onKey方法
   EditText etInfo = (EditText)findViewById(R.id.etInfo); 
   EditText etEmail = (EditText)findViewById(R.id.etEmail);
   etInfo.setText("您输入的邮箱地址为:"+etEmail.getText());   //设置EditText控件的显示内容
   return false;
  }
    };

这样在etEmail中输入信息并确认后输入的信息将在etinfo文本框中显示。





版权声明:

posted on 2014-12-20 14:33  moffis  阅读(178)  评论(0编辑  收藏  举报

导航