EyeAndroid

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

TextView

8.png


       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转到拨打电话页面.


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

  常用属性设置:

  android:hint=”请输入用户名” 输入框的提示文字

  android:password=”" True为密码框

  android:phoneNumber=”" True为电话框

  android:numeric=”" 数字框.Integer正整数, signed整数(可带负号), decimal浮点数.

  android:digits 设置允许输入哪些字符.如“1234567890.+-*/%\n()”


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

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

  常用属性设置:

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

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

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

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

  this.autoCompleteTextView = (AutoCompleteTextView) super.findViewById(R.id.autoCompleteTextView);

  ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.arrayadapte_textview, CITY_NAMES);

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

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

  this.multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());


       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, View.OnClickListener {
  2. private Button buttonChangeText;
  3. private TextSwitcher myTextSwitcher;
  4. private DigitalClock myDigitalClock;
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. super.setContentView(R.layout.switcher);
  9. this.buttonChangeText = (Button) super.findViewById(R.id.buttonChangeText);
  10. this.myTextSwitcher = (TextSwitcher) super.findViewById(R.id.myTextSwitcher);
  11. this.myDigitalClock = (DigitalClock) super.findViewById(R.id.myDigitalClock);
  12. this.buttonChangeText.setOnClickListener(this);
  13. this.myTextSwitcher.setFactory(this);
  14. this.myTextSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
  15. this.myTextSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
  16. }
  17. @Override
  18. public View makeView() {
  19. TextView textView = new TextView(this);
  20. textView.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
  21. textView.setTextSize(36);
  22. return textView;
  23. }
  24. @Override
  25. public void onClick(View v) {
  26. this.myDigitalClock.addTextChangedListener(textWatcher);
  27. }
  28. private android.text.TextWatcher textWatcher = new android.text.TextWatcher() {
  29. @Override
  30. public void onTextChanged(CharSequence s, int start, int before, int count) {
  31. SwitcherActivity.this.myTextSwitcher.setText(SwitcherActivity.this.myDigitalClock.getText());
  32. }
  33. @Override
  34. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  35. }
  36. @Override
  37. public void afterTextChanged(Editable s) {
  38. }
  39. };
  40. }
复制代码

Android 深入解析用户界面(一)
Android 深入解析用户界面(二)
Android 深入解析用户界面(三)
Android 深入解析用户界面(四)

posted on 2011-10-21 00:30  EyeAndroid  阅读(752)  评论(0)    收藏  举报