Android界面控件

五、基本界面控件-1文本控件

5.1文本编辑控件

5.1.1 TextView

图5.1.1 TextView

android.widget.TextView一般用来文本展示,继承自android.view.View,在android.widget包中。

他的常用子类有Button, CheckedTextView, Chronometer, DigitalClock, EditText。

常用属性设置:

android:text=\ android:autoLink=”” 文字显示 链接类型。Web网址,email邮件,phone电话,map地图。Linkify。

链接状态时,Web情况可直接调用浏览器进行浏览。Email直接调用手机的Email软件,phone转到拨打电话页面。

5.1.2 EditText

图5.1.2EditText(四种用法:普通用法、密码框、输入电话、输入数字)

android.widget.EditText为输入框,继承自android.widget.TextView,在android.widget包中。他的常用子类。AutoCompleteTextView和MultiAutoCompleteTextView。ExtractEditText与输入法有关。

常用属性设置:

android:hint=\请输入用户名\ android:password=\ android:phoneNumber=\ android:numeric=\ android:digits 输入框的提示文字 True为密码框 True为电话框 数字框。Integer正整数, signed整数(可带负号), decimal浮点数。 设置允许输入哪些字符。如“1234567890.+-*/%\\n()”

5.1.3 AutoCompleteTextView

图5.1.3AutoCompleteTextView和MultiAutoCompleteTextView

android.widget.AutoCompleteTextView带提示的输入框,继承自android.widget.EditText,在android.widget包中。

AutoCompleteTextViewhe和MultiAutoCompleteTextView都是自动提示,一个是单选,一个多选。

常用属性设置:

android:completionThreshold 输入几个字符时提示

AutoCompleteTextView就是一个带自动提示的EditText,当输入字符时,会出现提示窗口,点击选择即可。

首先在layout中定义一个AutoCompleteTextView,然后需要在Activity设置数据源就可以了。

ArrayAdapter的构造方法三个参数为:上下文的Context,每行的textView布局,数据源。

Java代码

1. this.autoCompleteTextView = (AutoCompleteTextView) super.findViewById(R.id.autoC

ompleteTextView);

2. ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.arrayada

pte_textview, CITY_NAMES);

3. this.autoCompleteTextView.setAdapter(arrayAdapter);

MultiAutoCompleteTextView和AutoCompleteTextView的类似,也是带有提示的输入框。区别在于MultiAutoCompleteTextView可以连续提示,选择一个提示项后会自动添加一个分隔符,在输入时继续提示。AutoCompleteTextView则属于单选模式的。

MultiAutoCompleteTextView使用时需要设置分隔符类CommaTokenizer。其他与AutoCompleteTextView一样。

Java代码

1. this.multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.Comm

aTokenizer());

5.1.4 TextSwitcher

android.widget.TextSwitcher文字切换。继承自

android.widget.ViewSwitcher(ViewGroup),在android.widget包中。 使用方法setInAnimation(Animation),setOutAnimation(Animation)设置动画。

例子,设置ViewSwitcher的动画,并使用数字时钟更改ViewSwitcher的字符串

Java代码

1. public class SwitcherActivity extends Activity implements ViewSwitcher.ViewFactory, Vi

ew.OnClickListener { 2.

3. private Button buttonChangeText; 4. private TextSwitcher myTextSwitcher; 5. private DigitalClock myDigitalClock; 6.

7. @Override

8. protected void onCreate(Bundle savedInstanceState) { 9. super.onCreate(savedInstanceState);

10. super.setContentView(R.layout.switcher); 11.

12. this.buttonChangeText = (Button) super.findViewById(R.id.buttonChangeText); 13. this.myTextSwitcher = (TextSwitcher) super.findViewById(R.id.myTextSwitcher);

14. this.myDigitalClock = (DigitalClock) super.findViewById(R.id.myDigitalClock); 15. this.buttonChangeText.setOnClickListener(this); 16. this.myTextSwitcher.setFactory(this); 17.

18. this.myTextSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.

anim.fade_in));

19. this.myTextSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.

R.anim.fade_out)); 20. 21. } 22.

23. @Override

24. public View makeView() {

25. TextView textView = new TextView(this);

26. textView.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL); 27. textView.setTextSize(36); 28. return textView; 29. } 30.

31. @Override

32. public void onClick(View v) {

33. this.myDigitalClock.addTextChangedListener(textWatcher); 34. } 35.

36. private android.text.TextWatcher textWatcher = new android.text.TextWatcher() { 37.

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4