Android界面控件.docx

上传人:b****5 文档编号:5382905 上传时间:2022-12-15 格式:DOCX 页数:33 大小:447.15KB
下载 相关 举报
Android界面控件.docx_第1页
第1页 / 共33页
Android界面控件.docx_第2页
第2页 / 共33页
Android界面控件.docx_第3页
第3页 / 共33页
Android界面控件.docx_第4页
第4页 / 共33页
Android界面控件.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

Android界面控件.docx

《Android界面控件.docx》由会员分享,可在线阅读,更多相关《Android界面控件.docx(33页珍藏版)》请在冰豆网上搜索。

Android界面控件.docx

Android界面控件

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

5.1文本编辑控件

5.1.1TextView

图5.1.1TextView

 

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.2EditText

图5.1.2EditText(四种用法:

普通用法、密码框、输入电话、输入数字)

 

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()”

 

 

5.1.3AutoCompleteTextView

图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.autoCompleteTextView);  

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

3.this.autoCompleteTextView.setAdapter(arrayAdapter);  

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

ArrayAdapterarrayAdapter=newArrayAdapter(this,R.layout.arrayadapte_textview,CITY_NAMES);

this.autoCompleteTextView.setAdapter(arrayAdapter);

 

 

MultiAutoCompleteTextView和AutoCompleteTextView的类似,也是带有提示的输入框。

区别在于MultiAutoCompleteTextView可以连续提示,选择一个提示项后会自动添加一个分隔符,在输入时继续提示。

AutoCompleteTextView则属于单选模式的。

MultiAutoCompleteTextView使用时需要设置分隔符类CommaTokenizer。

其他与AutoCompleteTextView一样。

 

Java代码

 

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

this.multiAutoCompleteTextView.setTokenizer(newMultiAutoCompleteTextView.CommaTokenizer());

 

 

 

5.1.4TextSwitcher

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.  

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.  

38.        @Override  

39.        public void onTextChanged(CharSequence s, int start, int before, int count) {  

40.            SwitcherActivity.this.myTextSwitcher.setText(SwitcherActivity.this.myDigitalClock.getText());  

41.        }  

42.  

43.        @Override  

44.        public void beforeTextChanged(CharSequence s, int start, int count, int after) {  

45.        }  

46.  

47.        @Override  

48.        public void afterTextChanged(Editable s) {  

49.        }  

50.    };  

51.}  

publicclassSwitcherActivityextendsActivityimplementsViewSwitcher.ViewFactory,View.OnClickListener{

privateButtonbuttonChangeText;

privateTextSwitchermyTextSwitcher;

privateDigitalClockmyDigitalClock;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

super.setContentView(R.layout.switcher);

this.buttonChangeText=(Button)super.findViewById(R.id.buttonChangeText);

this.myTextSwitcher=(TextSwitcher)super.findViewById(R.id.myTextSwitcher);

this.myDigitalClock=(DigitalClock)super.findViewById(R.id.myDigitalClock);

this.buttonChangeText.setOnClickListener(this);

this.myTextSwitcher.setFactory(this);

this.myTextSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));

this.myTextSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));

}

@Override

publicViewmakeView(){

TextViewtextView=newTextView(this);

textView.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL);

textView.setTextSize(36);

returntextView;

}

@Override

publicvoidonClick(Viewv){

this.myDigitalClock.addTextChangedListener(textWatcher);

}

privateandroid.text.TextWatchertextWatcher=newandroid.text.TextWatcher(){

@Override

publicvoidonTextChanged(CharSequences,intstart,intbefore,intcount){

SwitcherActivity.this.myTextSwitcher.setText(SwitcherActivity.this.myDigitalClock.getText());

}

@Override

publicvoidbeforeTextChanged(CharSequences,intstart,intcount,intafter){

}

@Override

publicvoidafterTextChanged(Editables){

}

};

}

 

Xml代码

 

1.

xml version="1.0" encoding="utf-8"?

>  

2.

android="  

3.              android:

layout_width="fill_parent"  

4.              android:

layout_height="fill_parent"  

5.              android:

orientation="vertical"  

6.              android:

gravity="center_horizontal">  

7.  

8.    

id="@+id/buttonChangeText"  

9.            android:

layout_width="wrap_content"  

10.            android:

layout_height="wrap_content"   

11.            android:

text="开始" />  

12.      

13.    

id="@+id/myDigitalClock"  

14.                  android:

layout_width="fill_parent"  

15.                  android:

layout_height="wrap_content"  

16.                  android:

textSize="36dip"/>  

17.      

18.    

id="@+id/myTextSwitcher"  

19.                  android:

layout_width="fill_parent"  

20.                  android:

layout_height="wrap_content" />  

21.  

22.  

五、基本界面控件-2按钮控件

5.2按钮控件

Button的子类

5.2.1Button

图5.2.1Button

 

android.widget.Button最常用的按钮,继承自android.widget.TextView,在android.widget包中。

他的常用子类CheckBox,RadioButton,ToggleButton。

 

通常用法:

super.findViewById(id)得到在layout中声明的Button的引用,setOnClickListener(View.OnClickListener)添加监听。

然后再View.OnClickListener监听器中使用v.equals(View)方法判断哪个按钮被按下,进行分别处理。

 

 

5.2.2CheckBox

图5.2.2CheckBox

 

android.widget.CheckBox复选按钮,继承自android.widget.CompoundButton,在android.widget包中。

常用方法:

isChecked()检查是否被选中。

监听按钮状态更改,需要添加setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener);

 

5.2.3RadioButton

图5.2.3RadioButton

 

android.widget.RadioButton单选按钮,继承自android.widget.CompoundButton,在android.widget包中。

 

通常用法:

单选按钮要声明在RadioGroup,RadioGroup是流式布局android.widget.LinearLayout的子类。

单选按钮状态更改的监听,是要给他的RadioGroup添加setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener)监听器。

注意监听器类型和CheckBox是不一样的。

 

 

 

5.2.4ToggleButton

图5.2.4ToggleButton

 

android.widget.ToggleButton开关形式的按钮,继承自android.widget.CompoundButton,在android.widget包中。

 

常用属性设置:

 

android:

textOn=""

选择状态文字

android:

textOff=""

未选状态文字

五、基本界面控件-3图片控件

5.3图片控件

5.3.1ImageView

图5.3.1ImageView

 

android.widget.ImageView图片控件,继承自android.view.View,在android.widget包中。

最简单的使用方法。

src设置图片路径,可引用drawable的图片。

 

Xml代码

 

1.

layout_width="wrap_content"   

2.           android:

layout_height="wrap_content"  

3.           android:

src="@drawable/tool"/>  

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

src="@drawable/tool"/>

 

 

动态声明ImageView,设置src。

 

Java代码

 

1.try {  

2.    ImageView imageView = new ImageView(this);  

3.    InputStream inputStream = super.getAssets().open("home.png");  

4.    imageView.setImageDrawable(Drawable.createFromStream(inputStream, "tackpic"));  

5.    this.imageLayout.addView(imageView, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,  

6.            LinearLayout.LayoutParams.WRAP_CONTENT));  

7.} catch (IOException e) {  

8.    e.printStackTrace();  

9.}  

try{

ImageViewimageView=newImageView(this);

InputStreaminputStream=super.getAssets().open("home.png");

imageView.setImageDrawable(Drawable.createFromStream(inputStream,"tackpic"));

this.imageLayout.addView(imageView,newLinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,

LinearLayout.LayoutParams.WRAP_CONTENT)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1