按钮控件的使用
一.按钮的使用方法
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文本框中显示。
版权声明: