Android常见控件之TextView、EditView、Button、Menu
2011-10-18 22:48
501 查看
一、TextView控件常见的属性
二、EditText是可编辑的文本框,继承自TextView,因此属性基本相同。EditText中的文字可以编辑而TextView只显示文字,其中的文字不能编辑。EditText和TextView类似于C#中的Label和TextBox控件。
三、Button也继承自TextView,因此也具有TextView的宽和高设置,文字显示等一些基本属性。Button一般会与单击事件联系在一起。为Button注册单击事件有两种方法:
1.通过Button控件的setOnClickListener()方法为Button注册OnClickListener。
2.通过使用android:OnClick属性在xml布局文件中为Button指定单击事件发生时执行的函数。
当用户点击了Button时,Android系统调用activity的selfDestruct(View view)方法。指定的这个方法必须是public的,而且只有一个View类型的参数。例如:
TextView、EditText、Button都可以用setText()方法设置控件中文本的值,也都可以用getText()获取的控件的文本值。需要注意的是EditText的getText()方法返回的是Editable对象。这个对象与string对象差不多,区别是:当我们修改了一个string对象的值后会返回一个新的string对象。因为string对象不能修改,所以返回新的对象。而Editable可以修改即返回的是它本身,因此在修改的时候不必创建新的对象,节约了内存。可以用getText().toString()方法将获得的Editable对象转换为string。
四、Menu
Menu控件不需要添加在xml布局文件中,需要在Activity中复写onCreateOptionsMenu(Menu menu)方法,当我们在模拟器或者在手机上点击Menu按钮时Android系统会自动调用这个函数,生成相应的菜单选项。我们还需要复写onOptionsItemSelected(MenuItem item)方法,当用户选择某个菜单项时会调用这个函数,从而实现一定的操作。
例如:
Activity01.java
package org.idea.android;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.view.View.OnClickListener;public class Activity01 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button=(Button)findViewById(R.id.myButton); button.setText("点击跳转到另一个Activity"); button.setOnClickListener(new buttonOnClickListener());//为button注册单击事件监听器 } class buttonOnClickListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent();//定义Intent对象 intent.setClass(Activity01.this,OtherActivity.class);//指定componentname intent.putExtra("value", "传递的字符串参数");//传递键值对 Activity01.this.startActivity(intent);//启动其它的Activity } } @Override public boolean onCreateOptionsMenu(Menu menu) //点击菜单按钮时执行,创建一个菜单 { // TODO Auto-generated method stub //通过menu.add()方法添加菜单项,add(groupId, itemId, order, title)方法的四个参数分别为 //菜单项所在组的id,菜单项的id,菜单项在这个组中排列的序号,菜单项显示的标题 menu.add(0, 1, 1, "退出"); menu.add(0, 2, 2, "关于"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) {//当选择菜单项时执行这个方法 // TODO Auto-generated method stub if(item.getItemId()==1)//如果选择的菜单项是“退出” finish();//结束Activity return super.onOptionsItemSelected(item); } }
运行结果:
点击菜单出现菜单选项。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201110/9efd82cd00cd627845c8be7d51645351.gif)
点击“退出”后,Activity01结束执行。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201110/ac6f7d83775db25b922b9f8ebb9072b1.gif)
[]
属性名称 | 描述 |
android:autoLink | 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)。这里只有在同时设置text时才自动识别链接,后来输入的无法自动识别。 |
android:ems | 设置TextView的宽度为N个字符的宽度。参见TextView中此属性的截图 |
android: scrollHorizontally | 设置文本超出TextView的宽度的情况下,是否出现横拉条。 |
android:singleLine | 设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行 |
android:textColor | 设置文本颜色 |
android: textColorLink | 文字链接的颜色. |
android:textSize | 设置文字大小,推荐度量单位”sp”,如”15sp” |
android:textStyle | 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开 |
android:typeface | 设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3] |
android:height | 设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米) |
android:width | 设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别是更加精确。 |
android:ellipsize | 设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动) |
三、Button也继承自TextView,因此也具有TextView的宽和高设置,文字显示等一些基本属性。Button一般会与单击事件联系在一起。为Button注册单击事件有两种方法:
1.通过Button控件的setOnClickListener()方法为Button注册OnClickListener。
public class MyActivity extends Activity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.content_layout_id); final Button button = (Button) findViewById(R.id.button_id); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Perform action on click } }); } }
2.通过使用android:OnClick属性在xml布局文件中为Button指定单击事件发生时执行的函数。
<Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/self_destruct" android:onClick="selfDestruct" />
当用户点击了Button时,Android系统调用activity的selfDestruct(View view)方法。指定的这个方法必须是public的,而且只有一个View类型的参数。例如:
public void selfDestruct(View view) { // Kabloey }
TextView、EditText、Button都可以用setText()方法设置控件中文本的值,也都可以用getText()获取的控件的文本值。需要注意的是EditText的getText()方法返回的是Editable对象。这个对象与string对象差不多,区别是:当我们修改了一个string对象的值后会返回一个新的string对象。因为string对象不能修改,所以返回新的对象。而Editable可以修改即返回的是它本身,因此在修改的时候不必创建新的对象,节约了内存。可以用getText().toString()方法将获得的Editable对象转换为string。
四、Menu
Menu控件不需要添加在xml布局文件中,需要在Activity中复写onCreateOptionsMenu(Menu menu)方法,当我们在模拟器或者在手机上点击Menu按钮时Android系统会自动调用这个函数,生成相应的菜单选项。我们还需要复写onOptionsItemSelected(MenuItem item)方法,当用户选择某个菜单项时会调用这个函数,从而实现一定的操作。
例如:
Activity01.java
package org.idea.android;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.view.View.OnClickListener;public class Activity01 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button=(Button)findViewById(R.id.myButton); button.setText("点击跳转到另一个Activity"); button.setOnClickListener(new buttonOnClickListener());//为button注册单击事件监听器 } class buttonOnClickListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent();//定义Intent对象 intent.setClass(Activity01.this,OtherActivity.class);//指定componentname intent.putExtra("value", "传递的字符串参数");//传递键值对 Activity01.this.startActivity(intent);//启动其它的Activity } } @Override public boolean onCreateOptionsMenu(Menu menu) //点击菜单按钮时执行,创建一个菜单 { // TODO Auto-generated method stub //通过menu.add()方法添加菜单项,add(groupId, itemId, order, title)方法的四个参数分别为 //菜单项所在组的id,菜单项的id,菜单项在这个组中排列的序号,菜单项显示的标题 menu.add(0, 1, 1, "退出"); menu.add(0, 2, 2, "关于"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) {//当选择菜单项时执行这个方法 // TODO Auto-generated method stub if(item.getItemId()==1)//如果选择的菜单项是“退出” finish();//结束Activity return super.onOptionsItemSelected(item); } }
运行结果:
点击菜单出现菜单选项。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201110/9efd82cd00cd627845c8be7d51645351.gif)
点击“退出”后,Activity01结束执行。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201110/ac6f7d83775db25b922b9f8ebb9072b1.gif)
[]
相关文章推荐
- Android常见控件之TextView、EditView、Button、Menu
- Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)
- Android常用控件-TextView、EditView、Button、Menu
- Android的常见控件(TextView、EditText、Button、Menu)使用
- 常见控件的使用方法 TextView EditText Button Menu
- Android基本常用控件的介绍TextView EditText Button Menu
- 常用控件的使用方法--(TextView/EditText/Button/Menu) -计算器代码
- Android 第五课 常用控件的使用方法(TextView、Button、EditView、 ImageView、 ProgressBar、 ProgressDialog等)
- Android下Button/TextView/EditText/Menu的使用
- 2.Android基础:常见控件----->EditText、Button
- Android02--Android之UI控件TextView+Button+EditText
- Android常见的几个控件(TextView,EditText,Button)
- Android学习-常见的UI控件 TextView、EditText和ImageView
- android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)
- Android笔记(4)TextView/Button/ImageView的圆角矩形/圆形控件
- Android 仿QQ控件变色的EditText/TextView
- Android 开发基础篇——UI——基础控件(TextView、Button、EditText)
- 文章标题:Android常见控件TextView的使用方法
- android Button,textView 等控件设置控件内嵌周围图片使用方法
- [Android开发] 代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常(常见于listview中)