1、如何使用安卓中的按键Button?
1、先从控件库拖一个按钮button的控件,在XML设置好宽高等参数
对应的就是Button这个图标,直接拖出来即可;
以下是设置这个按钮对应的XML代码:
<Button android:id="@+id/button1" style="@style/AppBaseTheme" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/editText2" android:layout_centerHorizontal="true" android:layout_marginTop="42dp" android:text="登陆" />
2、在onCreate中新建一个按钮并实例化:
Button button = (Button)findViewById(R.id.button); 这一步主要是从R.java这个文件中,找到我们从控件库里拖出来放在界面上的那个按钮的ID 对应的R.java文件,在安卓工程目录可以找到, 我们可以看到,这个就是我们上一篇见识到的内部类,id类就是一个内部类,而R是一个宿主类。 我们通过R.id.button1找到了按钮的ID。 public final class R { public static final class id { public static final int action_settings=0x7f080002; public static final int button1=0x7f080000; public static final int editText1=0x7f080001; } }
3、注册Button点击事件监听器setOnClickListener()
主要实现如下: button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //在此处添加逻辑 } }); 我们需要实现的逻辑就在对应的onClick方法里实现,当我们按下按钮的时候 内部的逻辑就会触发进行响应。
说了这么多,下面这个例子正好尝尝鲜:
我在此处又引出了一个新的控件EditText,这是一个输入和编辑内容的对话框
同样操作也是在控件库拖出一个这样的空间,然后按以下的步骤:
这个控件在Text Fields这一个栏目中
控件对应的XML代码:
<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView1" android:layout_alignBottom="@+id/textView1" android:layout_centerHorizontal="true" android:ems="10" > <requestFocus /> </EditText>
1、新建一个EditText并实例化 final EditText editText = (EditText)findViewById(R.id.editText1); 2、EditText用到的方法 getText()方法:获取到输入的内容 toString()方法:转换成字符串
接下来,结合前面的知识很快我们可以写出以下代码:
这个代码实现的是,我在编辑框输入的数据,能在界面上和TextView上正确显示出来:
package com.example.button_first; //导入相应的资源 import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText editText = (EditText)findViewById(R.id.editText1); final TextView Text = (TextView)findViewById(R.id.textView1); Button button = (Button)findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { @Override //onClick方法 public void onClick(View arg0) { // TODO Auto-generated method stub //将在editText控件里输入的文本转化为字符串 String inputTxt = editText.getText().toString(); //将文本显示在TextView上 Text.setText(inputTxt); //取得该文本,然后用Toast将该文本显示到Activity的界面上。 Toast.makeText(MainActivity.this, inputTxt, Toast.LENGTH_SHORT).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
运行效果大家自己去试试。