android常用控件大全
- 格式:doc
- 大小:46.00 KB
- 文档页数:7
Android 应用程序的基本组件Android 操作系统是目前世界上最流行的移动操作系统之一。
它提供了广泛的应用程序开发工具和框架,使开发者能够轻松地创建出丰富多样的应用程序。
而这些应用程序的基础是由一些基本组件构成的。
本文将介绍 Android 应用程序的基本组件,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。
活动(Activity)是 Android 应用程序的核心组件之一。
它代表了用户与应用程序之间的交互界面。
每个 Android 应用程序都至少包含一个活动,而活动可以包含多个界面元素,例如按钮、文本框、图像等。
活动通过布局文件定义了界面的外观和布局,通过代码来处理用户的操作和响应。
活动之间可以通过意图(Intent)来进行切换和通信,从而实现应用程序之间的流转和交互。
服务(Service)是在后台运行的组件,它可以在没有用户界面的情况下执行长时间运行的操作。
服务通常用于执行一些独立的任务,例如播放音乐、下载文件等。
通过在应用程序中创建服务,开发者可以在用户不可见的情况下执行一些必要的操作,并提供持久性的后台功能。
广播接收器(Broadcast Receiver)是一种用于接收系统广播消息的组件。
广播是 Android 系统中不同组件之间进行通信的一种方式,例如设备启动完成、电池电量变化等。
通过注册一个广播接收器,开发者可以监听和响应系统广播消息,并执行相应的操作。
广播接收器可以用于实现各种功能,例如接收短信、接收网络状态变化等。
内容提供器(Content Provider)是 Android 中用于共享数据的一种机制。
内容提供器允许一个应用程序将其数据暴露给其他应用程序。
通过内容提供器,不同的应用程序可以相互访问和共享数据,实现数据的交互和共用。
例如,系统提供的联系人数据库就是通过内容提供器来共享和访问联系人数据的。
《Android基础应用》Android常用控件⏹本章任务⏹使用Android开发使用时间组件⏹使用Android开发使用进度条组件⏹使用Android开发创建底部选项卡⏹本章目标⏹了解Android的组件层次结构⏹掌握常用的日期时间类控件⏹掌握常用的几个容器组件1.Android组件的层次结构UI组件都是View的子类,View有很多子类,它们之间存在树状的继承关系View及其子类结构图TextView及其子类结构图ViewGroup及其子类结构图其下的子类一般作为容器或布局来使用FrameLayout及其子类结构图其下的子类通常作为容器或布局来使用2.时间控件2.1日期时间选择器DatePicker组件可用于输入日期,TimePicker组件可用来选择时间,只能输入小时和分,默认12小时制DatePicker●使用onDateChangedListener监听器来获取用户的日期选择●使用init对组件进行初始化●使用getYear,getMonth,getDayOfMonth方法获得用户选择的年,月,日TimePicker●使用onTimeChangedListener监听器获取用户的时间选择●使用setIs24HourView设置是否以24小时制显示●使用getCurrentHour获得当前的小时数●使用getCurrentMinute获得当前的分钟数示例示例的实现结果2.2时钟组件AnalogClock组件用来以表盘的方式显示当前时间,该表只有时针和分针,DigitClock组件以数字的方式显示当前时间可以显示时分秒,由于DigitClock继承TextView,可以使用TextView 的属性示例示例的实现结果2.3 计时器组件Chronometer和DigitalClock 都继承TextView,但它不显示时间,它显示的是从某个起始时间开始,一共过去了多少时间默认情况下只能输出MM:SS或H:MM:SS的时间格式重要属性●android:format:定义时间的格式如:hh:mm:ss重要方法●setBase(long base):设置倒计时起始时间参数为SystemClock.elapsedRealtime()方法返回的值为当前时刻●setFormat(String format):设置显示时间的格式●start():开始计时●stop():停止计时●setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):当计时器改变时调用示例示例的实现结果练习——时间组件需求说明:日期时间选择器时钟组件计时器组件按照课件中示例图实施3.进度类组件3.1进度条组件当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行、执行进度如何、应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度Android系统提供了两大类进度条样式●长形进度条●圆形进度条(大中小三种)默认是普通圆形进度条,是不确定Android进度条默认普通圆形ProgressBar大号圆形ProgressBar小号圆形ProgressBar示例3.2标题进度条进度条除了可以显示在Activity中外,还可以显示在标题中圆形进度条长方形进度条Array示例示例的实现结果3.3 可拖动的进度条组件SeekBar 控件其实就是一个高级点的进度条,就像我们在听歌,看电影用的播放器上的进度条一样,是可以拖动的,可以改变进度的一个进度条控件SeekBar 是ProgressBar 的子类,这个组件不需要设置sencondaryProgress 属性 事件接口OnSeekBarChangeListener 处理组件事件由以下三个方法● public void onStartTrackingTouch(SeekBar seekBar) 按下滑杆后触发● public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) 动滑杆开始滑动时触发● public void onStopTrackingTouch(SeekBar seekBar) 松开滑杆时触发示例示例的实现结果3.4界面评分组件RatingBar是SeekBar和ProgressBar的扩展,用星星来评级如网上购物,对商家的产品和服务进行打分等常用属性●android:numStarts用于评分的五角星数量●android:rating当前的分数●android:stepSize分数的增长单位,默认是0.5事件接口OnRatingBarChangeListener处理组件事件● public void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser)示例示例的实现结果属性Style●用于为RatingBar设置不同的风格,一旦设置了style,就不可点击改变值示例示例的实现结果练习——进度组件需求说明:ProgressBarSeekBarRatingBar按照课件中示例图实施4.滚动视图当一个屏幕因为要显示的内容太多而显示不全时,我们可以使用滚动视图来解决这个问题垂直滚动视图ScrollViewScrollView可以用来实现垂直滚动的视图,当它内容组件的高度超过屏幕的高度时,就会在屏幕的右侧出现一个垂直方向的滚动条,通过单击手机上的上下按钮或者上下拂动屏幕可以查看未显示部分注意:在ScrollView标签中只能包含一个组件使用步骤在ScrollView标签中包含一个LinearLayout标签,并设置盖标签的android:orientation属性为vertical在LinearLayout中放置需要显示的组件示例ScrollView只能用来实现垂直滚动的视图,如果要实现水平滚动,需要水平滚动视图HorizontalScrollView示例5.选项卡组件当一个屏幕因为要显示的内容太多而显示不全时,除了使用滚动视图外,还可以使用选项卡组件,选项卡TabHost类似于android系统默认提供的电话薄界面选项卡可以方便的在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆放区域选项卡是有多个Tab组成的,其中每个Tab都可以显示一个View或一个Activity使用步骤●在界面中定义TabHost组件,并为该组件定义该选项卡的内容组件,为内容组件定义id,这些内容组件将要作为某个Tab选项的视图●定义一个继承TabActivity的Activity●调用TabActivity的getHost方法获得TabHost对象●通过TabHost的相关方法来创建和添加选项卡newTabSpec(String tag)创建选项卡addTab(TabHost.TabSpec tabSpec)添加选项卡每个Tab在切换的时候会产生一个事件,通过OnTabChangedListener监听 示例---方式一示例示例的实现结果示例—方式二示例—方式三 Tab底部显示与上个案例的区别是android:id="@android:id/tabcontent的FrameLayout 与android:id="@android:id/tabs"TabWidget互换位置示例—方式四 设置关联Intent练习——创建选项卡需求说明:创建选项卡如图每个选项卡关联不同的Intent默认选择第二项练习——创建底部选项卡需求说明:创建选项卡如图每个选项卡关联不同的Intent默认选择第二项总结本章学习哪几种时间类组件?本章学习了哪几个进度条类组件?TabHost的使用方式?。
一、实验目的通过本次实验,掌握安卓常用控件的基本属性、方法和事件处理,熟悉这些控件在实际应用中的使用方法,提高对安卓界面设计的理解和应用能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.5.33. 手机型号:华为Mate 20三、实验内容本次实验主要涉及以下安卓常用控件:1. TextView2. EditText3. Button4. ImageView5. RadioButton6. CheckBox7. Spinner8. ListView四、实验步骤1. 创建一个新的Android项目,命名为“ControlOperation”。
2. 在布局文件activity_main.xml中添加以下控件:```xml<TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Hello World!"android:layout_marginTop="20dp" /><EditTextandroid:id="@+id/editText1"android:layout_width="match_parent"android:layout_height="wrap_content" android:hint="Enter your name" /><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Click Me!" /><ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> <RadioButtonandroid:id="@+id/radioButton1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Male" /><CheckBoxandroid:id="@+id/checkbox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Subscribe to newsletter" /><Spinnerandroid:id="@+id/spinner1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/countries" /><ListViewandroid:id="@+id/listView1"android:layout_width="match_parent"android:layout_height="wrap_content" />```3. 在strings.xml文件中添加以下字符串资源:```xml<string name="app_name">Control Operation</string> <string name="enter_name">Enter your name</string> <string name="click_me">Click Me!</string><string-array name="countries"><item>China</item><item>USA</item><item>Japan</item></string-array>```4. 在MainActivity.java文件中添加以下代码:```javaimport android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.ScrollView;import android.widget.TextView;import android.widget.CheckBox;import android.widget.Spinner;import android.widget.ListView;import android.widget.ArrayAdapter;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private TextView textView1;private EditText editText1;private Button button1;private ImageView imageView1;private RadioButton radioButton1;private CheckBox checkBox1;private Spinner spinner1;private ListView listView1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);textView1 = findViewById(R.id.textView1);editText1 = findViewById(R.id.editText1);button1 = findViewById(R.id.button1);imageView1 = findViewById(R.id.imageView1);radioButton1 = findViewById(R.id.radioButton1);checkBox1 = findViewById(R.id.checkbox1);spinner1 = findViewById(R.id.spinner1);listView1 = findViewById(R.id.listView1);ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(this,R.array.countries, yout.simple_spinner_item);adapter.setDropDownViewResource(yout.simple_spinner_dropdown _item);spinner1.setAdapter(adapter);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name = editText1.getText().toString();Toast.makeText(MainActivity.this, "Hello " + name, Toast.LENGTH_SHORT).show();}});radioButton1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "You selected Male", Toast.LENGTH_SHORT).show();}});checkBox1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (checkBox1.isChecked()) {Toast.makeText(MainActivity.this, "You subscribed to the newsletter", Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, "You unsubscribed from the newsletter", Toast.LENGTH_SHORT).show();}}});}}```5. 运行程序,观察效果。
3分钟带你掌握11个最常用的交互控件本文作者将来总结一下各个控件的特点,方便各位更好的理解这些控件。
之前的一系列文章,为大家介绍了iOS和Android规范中,各种弹出物(不要乱联想~~)的用法,罗列如下:警告框(Alerts)弹出框(Popovers,iOS独有)简易菜单(Simple Menus,MD独有)模态视图(Modal Views,iOS独有)确认弹框(Confirmation Dialogs,MD独有)全屏弹框(Full-screen Dialogs,MD独有)上拉菜单(Action Sheets,iOS独有)简易弹框(Simple Dialogs,MD独有)活动视图(Activity Views,iOS独有)底板(Bottom Sheets,MD独有)提示框(Toasts)既然各个控件都出过场了,也是时候让它们合个体了!弹出类控件比较表格(工具栏不是弹出类控件,之前没有介绍)观察上表,左边iOS这一栏,从警告框到活动视图,它们构成了一个听起来很高大上的词汇——模态(Modal,不是Model)。
iOS设计规范对模态的定义是这样神儿的:模态让用户聚焦到某一个任务、消息或者视图上而不能做别的事情,直到用户完成了当前的任务。
比如警告框,用户必须必须选择警告框里的一个选项,警告框才会消失,否则用户什么也做不了。
这个警告框,就创造了“模态”的体验。
模态示例1——警告框模态示例2——模态视图关于如何使用模态,苹果有以下几点建议:尽量少使用。
因为一般来说,人们使用应用的时候不是线性的,不是先做A再做B这样,是想到啥做啥。
而模态是线性的,比较强制。
苹果建议,只在某个任务特别重要,必须引起用户的注意、或者某个任务必须被完成才能继续使用应用、或者需要应用需要保存数据时,才使用模态这种设计。
使用模态时需要提供一个清楚明白的退出模态的通道。
需保证用户总能知道他们在一个模态中操作后的结果。
保持模态里的任务简单、简短、单一。
android 常见view的用法常见的Android View的用法有:1. TextView(文本视图):用于显示文本内容,可以设置字体、颜色、字体大小等属性。
2. ImageView(图片视图):用于显示图片,可以设置图片资源、缩放类型、背景等属性。
3. Button(按钮):用于触发点击事件,可以设置文本、背景、点击效果等属性。
4. EditText(编辑文本视图):用于输入文本内容,可以设置提示文本、输入类型、最大长度等属性。
5. RadioButton(单选按钮):用于在多个选项中选择一个,可以设置文本、选中状态等属性。
6. CheckBox(复选框):用于在多个选项中选择多个,可以设置文本、选中状态等属性。
7. ProgressBar(进度条):用于显示操作进度,可以设置进度值、样式、颜色等属性。
8. SeekBar(滑动条):用于选择数值范围,可以设置最小值、最大值、当前值等属性。
9. ListView(列表视图):用于显示大量数据列表,可以自定义每一项的布局和交互。
10. GridView(网格视图):用于显示数据的表格布局,可以自定义每个单元格的布局和交互。
11. RecyclerView(可复用列表视图):Android的推荐使用的列表视图,功能更强大、性能更优。
12. WebView(网页视图):用于显示网页内容,可以加载本地或远程网页。
13. ScrollView(滚动视图):用于包裹超出屏幕大小的内容,并通过滑动来查看全部内容。
14. LinearLayout(线性布局):用于按照水平或垂直方向排列子视图。
15. RelativeLayout(相对布局):用于按照相对位置摆放子视图,灵活性更高。
16. FrameLayout(帧布局):用于叠加子视图,通常用于显示单个子视图或切换视图。
这些是Android中常见的View,开发者可以根据实际需求选择合适的View并设置相应的属性,实现各种不同的界面效果。
一、概述Android的控件体系分为三个类别:1、基本控件2、布局3、容器这三类控件主要分布在两个包中:1、android.view 提供抽象接口2、android.widget 提供系统内置的大部分控件整个系统得控件都继承自android.view.View ,而布局及容器类继承自android.view.ViewGroup。
基本控件主要包括ImageView、ProgressBar、SurfaceView、TextView、EditText等。
布局虽然布局跟容器均继承自android.view.ViewGroup,但并不像SWT那样提供了面板+布局的结构,而是每种Layout就是一中特殊的面板,包括AbsoluteLayout、FrameLayout、LinearLayout、TableLayout、RelativeLayout等。
容器这里的容器是指采用了特定的布局并且提供了行为的控件,包含ListView、GridView、Gallery、Spinner等。
二、android常用控件android常用控件之TextView、EditView、Button、Menu示例:一个计算应用程序,输入2个数字,点击按钮进行计算两个数的积并且返回结果。
当点击模拟器右侧的Menu按钮,在输入界面中显示一个有关于和退出的菜单。
项目运行效果图:开发步骤:1、新建一个Android项目2、在布局文件中依次添加EditText、TextView、EditText、Button(一定要按照界面上控件显示的顺序在布局文件中添加)3、再新建一个布局文件用来显示计算的结果;在这个布局文件中添加一个LinearLayout和一个TextView(默认的布局文件中默认就有一个LinearLayout,所以不需要手动添加,新建的布局文件默认为空,所以需要手动添加)4、编写第一个Activitya) 让Activity继承android的Activityb) 重写Activity的onCreate()方法c) 设置这个Activity的布局文件d) 根据控件id获得控件对象e) 设置控件的值,这个值引用的是string.xml中的值,所以还需要在string.xml文件中设置(最好是使用string.xml中的值,以便实现国际化);这个在布局文件中也能设置;5、新建一个Activity,ResultActivitya) 让Activity继承android的Activityb) 重写Activity的onCreate()方法c) 设置这个Activity的布局文件d) 根据控件id获得控件对象6、在第一个Activity中编写Button的监听器a) 取得两个EditText控件的值b) 创建Intent对象c) 将这两个值存放到Intent对象当中d) 使用Intent对象启用ResultActivitye) 将监听器与Button绑定7、在第二个Activity(ResultActivity)中获得Intent对象a) 获得Intent对象中保存的值并强制转换成int类型b) 计算两个值的积c) 设置控件值8、在第一个Activity中,重写onCreateOptionsMenu()方法,这个方法是用于添加菜单中的菜单项,我们添加两个菜单项9、再在第一个Activity中重写onOptionsItemSelected()方法,这个方法是当点击菜单中菜单项时调用。
Android--四⼤基本组件Android四⼤基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver⼴播接收器。
⼀、四⼤基本组件1.Activity应⽤程序中,⼀个Activity通常就是⼀个单独的屏幕,它上⾯可以显⽰⼀些控件也可以监听并处理⽤户的事件做出响应。
Activity之间通过Intent进⾏通信。
在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。
典型的动作类型有:M AIN(activity的门户)、VIEW、PICK、EDIT 等。
⽽动作对应的数据则以URI 的形式进⾏表⽰。
例如:要查看⼀个⼈的联系⽅式,你需要创建⼀个动作类型为VIEW 的intent,以及⼀个表⽰这个⼈的URI。
与之有关系的⼀个类叫IntentFilter。
相对于intent 是⼀个有效的做某事的请求,⼀个intentfilter则⽤于描述⼀个activity(或者IntentReceiver)能够操作哪些intent。
⼀个activity 如果要显⽰⼀个⼈的联系⽅式时,需要声明⼀个IntentFilter,这个IntentFilter 要知道怎么去处理VIEW 动作和表⽰⼀个⼈的URI。
IntentFilter 需要在AndroidManifest.xml 中定义。
通过解析各种intent,从⼀个屏幕导航到另⼀个屏幕是很简单的。
当向前导航时,activity 将会调⽤startActivity(Intent myIntent)⽅法。
然后,系统会在所有安装的应⽤程序中定义的IntentFilter 中查找,找到最匹配myIntent 的Intent 对应的activity。
新的activity 接收到myIntent 的通知后,开始运⾏。
当startActivity ⽅法被调⽤将触发解析myIntent 的动作,这个机制提供了两个关键好处:A、Activities 能够重复利⽤从其它组件中以Intent 的形式产⽣的⼀个请求;B、Activities 可以在任何时候被⼀个具有相同IntentFilter 的新的Activity 取代。
详解Android的四⼤应⽤程序组件Android的⼀个核⼼特性就是⼀个应⽤程序可作为其他应⽤程序中的元素,可为其他应⽤程序提供数据。
例如,如果程序需要⽤某些控件来加载⼀些图⽚,另⼀个程序已经开发出了此项功能,且可供其他程序使⽤,就可以直接使⽤跨进程通信⽅式调⽤那个程序的功能,⽽不是⾃⼰再开发⼀个。
为了实现这样的功能,Android系统必须能够在需要应⽤程序中的任何⼀部分时启动它的进程,并且实例化那部分的Java对象。
所以,不像⼤多数其他系统中的程序,Android程序不是只有单⼀的进⼊点,⽽是它们拥有系统实例化和运⾏必须的组件,Android中提供了4⼤组件;Android中的四⼤组件除了BroadcastReceiver之外,Activity、Service、ContentProvider都要必须在AndroidManifest.xml中注册,⽽BroadcastReceiver可以在AndroidManifest.xml⽂件中注册,也可以在Java代码或者kotlin代码中注册;在Android 8.0后,在AndroidManifest.xml⽂件中静态注册⼴播接收失效,是因为官⽅对耗电量的优化,避免APP滥⽤⼴播的⼀种处理⽅式。
1、ActivityActivty是⼀种展⽰型组件,Activity为⽤户提供了⼀个可视的⽤户界⾯。
例如,⼀个拨打电话程序可能有⼀个Activity⽤来显⽰可以拨打电话的联系⼈,第⼆个Activity⽤来新建联系⼈写信息,其他的Activity⽤来查看具体的联系⼈,或者更改联系⼈信息,虽然应⽤程序中的各个Activity所提供的⽤户界⾯聚合性很强,但是每个Activity都独⽴于其他的Activity,每⼀个实例化的Activity都是Activity的⼦类,Intent可触发了Activity的启动,Intent可分为显式Intent触发和隐式Intent触发;显式Intent触发可明确的指向Activity组件,⽤如下代码表⽰:Intent in = new Intent(this,SecondActivity.class)MainActivity.this.startActivity(in)隐式Intent触发是指向⼀个或者2个以上的Activity的⽬标组件,它也可以没有⽬标Activity,它的隐式触发⽤如下代码表⽰:Intent intent = new Intent();intent.setPackage("unchmode");intent.setAction("com.xe.actoin.MAP");intent.addCategory("android.intent.category.APP_MAPS");MainActivity.this.startActivity(intent);2、ServiceService是⼀种后台处理任务型组件,它⼀直在后台运⾏,⽤于后台处理⼀系列的计算任务或者处理其他事情的时候播放背景⾳乐等,每个service都扩展⾃Service类;Service组件和Activity组件的开启是不同的,Activity只有⼀种启动状态,⽤如下代码表⽰:Intent in = new Intent(this,SecondActivity.class)startActivity(in)⽽Service的开启却有2种,当处于启动状态时,它可以做⼀些后台任务,不需要和⽤户界⾯交互,它的⽣命周期和应⽤程序⼀样长,多媒体播放器播放⾳乐是应⽤Service的⼀个⾮常好的例⼦。
第5单元用户界面View (二)(4课时)5.1 常用组件介绍5.1.1 Button按钮5.1.2 TextView文本5.1.3 EditText可编辑文本框5.1.4 RadioGroup RadioButton单选按钮5.1.5 CheckBox复选框5.1.6 ImageView图片框ImageButton 图片按钮5.1.7 DatePicker 日期5.1.8 TimePicker 时间Button按钮点击事件处理:监听事件多种方式使用监听1,xml布局文件中有onClick2,使用匿名内部类3,定义内部监听类4,定义监听类(也可以是本类)EditText可编辑文本框重要属性:1.android:hint=”提示内容”//设置显示在空间上得提示信息2.android:numeric=”123”//设置只能输入整数,如果是小数则是:decimal3.android:singleLine=”true”//设置单行输入,一旦设置为true,则文字不会自动换行4.android:password=”true”//设置只能输入密码5.android:textColor=”#FF8C00”//设置字体颜色6.android:textStyle=”bold”//字体,bold,italic,bolditalic7.android:textSize=”20dip”//大小8.android:capitalize=”characters” //以大写字母写9.android:textAlign=”center”//EditText没有这个属性,但是TextView有,居中10.android:textColorHighlight=”#CCCCCC” //被选中文字的颜色,默认为蓝色11.android:textColorHint=”#FFFF00” // 设置提示信息文字的颜色,默认为灰色12.android:textScaleX=”1.5”//控制字与字之间的间距13.android:typeface=”monospace” //字型normal,sans,serif,monospace14.(等宽字体)15.android:background=”@null” //背景,这里没有,指透明16.android:layout_weight=”1” //权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。
Android的四⼤组件Android的四⼤组件:Activity、Service、BroadcastReceiver、Content Provider。
Content Provider 属于Android应⽤程序的组件之⼀,作为应⽤程序之间唯⼀的共享数据的途径,Content Provider 主要的功能就是存储并检索数据以及向其他应⽤程序提供访问数据的接⼝① Activity是Android应⽤中负责与⽤户交互的组件——⼤致上把它想象成Swing编程中的JFrame控件。
不过它与JFrame的区别在于:JFrame本⾝可以设置布局管理器,不断地向JFrame中添加组件,但Activity只能通过setContentView(View)来显⽰指定组件。
Activity为Android应⽤提供⾥可视化⽤户界⾯,如果该Android应⽤需要多个⽤户界⾯,那么这个Android应⽤将会包含多个Activity,多个Activity组成Activity栈。
当前活动的Activity位于栈顶。
View组件是所有UI控件、容器控件的基类,View组件就是Android应⽤中⽤户实实在在看到的部分。
但View组件需要放到容器组件中,或者使⽤Activity将它显⽰出来。
如果需要通过某个Activity把指定View显⽰出来,调⽤Activity的setContentView()⽅法即可。
② Service与Activity的地位是并列的,它也代表⼀个单独的Android组件。
Service与Activity的区别在于:Service通常位于后台运⾏,它⼀般不需要与⽤户交互,因此Service组件没有图形⽤户界⾯。
Service组件需要继承Service基类。
⼀个Service组件被运⾏起来之后,它将拥有⾃⼰独⽴的⽣命周期,Service组件通常⽤于为其他组件提供后台服务或监控其他组件的运⾏状态。
③ BroadcastReceiver是Android应⽤中另⼀个重要的组件,BroadcastReceiver代表⼴播消息接收器。
1,TextView用于在界面上显示文字,内容不可编辑,继承View2,EditText是可供用户编辑内容的文本框。
继承TextView,可重用TextView定义的属性3,按钮控件Button,继承TextView,ImageButton继承ImageViewButton可根据用户的操作动态切换图片,需定义drawable资源<selector><?xml version="1.0" encoding="utf-8"?><selector xmlns:android="/apk/res/android"><item android:drawable="@drawable/app_icon" android:state_pressed="true"/> <item android:drawable="@drawable/app_notes"android:state_pressed="false"/> </selector>4,单选按钮RadioButton继承至Button按钮。
可通过android:checked属性指定是否选中。
一组RadioButton只能选择其一,因此它需要与RadioGroup一起使用。
5,复选框按钮CheckBox。
继承至Button按钮。
可通过android:checked属性指定是否选中7,AnalogClock继承View,重写了onDraw()方法。
显示模拟时钟,不会显示当前的秒数。
DigitalClock继承TextView.显示数字时钟,会显示当前秒数。
8,图片显示控件ImageView,继承View,任何Drawable对象都可以用它来显示,注意src 属性和background属性的区别9,自动完成AutoCompleteTextView继承至EditText,当用户输入信息后,会显示下拉菜单10,MultiAutoCompleteTextView可支持选择多个值,分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,它与AutoCompleteTextView的区别是AutoCompleteTextView一个文本框只能输入一个值,而MultiAutoCompleteTextView可以输入多个值,中间的分隔符在代码中设置11,日期时间控件DatePicker/TimePicker,继承至FrameLayout,DatePicker用于选择日期,TimePicker用于选择时间12,进度条ProgressBar用于向用户显示某个耗时操作完成的百分比,可通过style属性为其指定风格,setProgress(int) 设置进度完成的百分比,incrementProgressBy(int) 设置增量/减量13,拖动条seekBar,继承AbsSeekBar,通常用于对系统的某些参数进行调节,允许改变滑块的外观,Android:thumb 用来指定一个Drawable对象,OnSeekBarChangeListener可处理滑动事件14,星级评分条RatingBar,继承AbsSeekBar,OnRatingBarChangeListener可处理评分事件15,代表应用程序的菜单Menu,Android中的菜单需要用户单击手机上的“MENU”按键时才会显示。
android常用控件大全在Android中使用各种控件(View)DatePicker-日期选择控件TimePicker-时间选择控件ToggleButton-双状态按钮控件EditText-可编辑文本控件ProgressBar-进度条控件SeekBar-可拖动的进度条控件AutoCompleteTextView-支持自动完成功能的可编辑文本控件MultiAutoCompleteTextView-支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开)ZoomControls-放大/缩小按钮控件Include-整合控件VideoView-视频播放控件WebView-浏览器控件RatingBar-评分控件Tab-选项卡控件Spinner-下拉框控件Chronometer-计时器控件ScrollView-滚动条控件在Android中使用的LayoutFrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角LinearLayout:里面可以放多个控件,但是一行只能放一个控件TableLayout:这个要和TableRow配合使用,很像html里面的tableAbsoluteLayout:里面可以放多个控件,并且可以自己定义控件的x,y的位置RelativeLayout:里面可以放多个控件,不过控件的位置都是相对位置(Android界面布局好像还可以直接引用一些view,如ScrollView等)常用控件:1,EditText主要函数:setText/getText设置/获取文本内容,setHint设置缺省显示内容;2,RadioGroup,RadioButtonRadioButton的isChecked()判断是否被选中获取选中RadioButon的ID:设置RadioGroup.setOnCheckedChangeListener方法publiconCheckedChanged(RadioGroupgroup,intcheckedId)//checkedId 是选中RadioButton的ID3,CheckBoxisChecked()判断是否被选中setOnCheckedChangeListener方法监视选中状态改变情况4,Spinnera,显示数据1),硬编码加载通过setAdapter方法设置类型为ArrayAdapter(Contextcontext,inttextViewResId,String[]objects)textViewResourceId:显示内容的ViewID默认设置为yout.simple_spinner_itemobjects:显示的内容2),从资源文件中加载ArrayAdapter.createFromResource(Contextcontext,inttextArrayResId,in ttextViewResId)//textArrayResId是资源ID返回ArrayAdapter<CharSequence>b,设置下拉列表的风格(可选)adapter.setDropDownViewResource(yout.simple_spinner_d ropdown_item);c,监听选项选择变更事件setOnItemSelectedListener设置监听去Spinner.OnItemSelectedListener类须实现以下两个方法publicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition ,longid)//view选中项实例,position选择项在adapter中的位置publicvoidonNothingSelected(AdapterView<?>arg0)d,设置选中项Spinner.setSelection(position)//索引从0开始d,获取选中项getSelectedItemPosition()getSelectedItem()//该值toString()则为选中内容的字符串getSelectedItemId()getSelectedView()5,AutoCompleteTextView1,setAdapter设置数据adapter2,设置输入多少个字符显示提示AutoCompleteTextView.setThreshold(intthreshold)6,MultiAutoCompleteTextView(允许输入多值,多值之间会自动地用指定的分隔符分开)1,setAdapter设置数据adapter2,setTokenizer设置提示Tokenizer缺省的为maTokenizer()以逗号分隔7,DatePicker,TimePickera,DatePicker1),设置初始显示日期init(intYear,intmonth,intday,newDatePicker.OnDateChangedListener(){ publicvoidonDateChanged(DatePickerview,intyear,intmonthOfYear,intd ayOfMonth){}})2),获取设置值getYeah()/getMonth()/getDayOfMonth()b,TimePicker1),设置setCurrentHour(IntegercurrentHour)/setCurrentMinuter(Integercurrent Hour)2,setIs24HourView(Boolean)设置是否为24小时制显示3,监听设置改变setOnTimeChangedListenerc,获取系统当期时间和日期Calendar.getInstance()返回CalendarCalendar.get(intfield)---field可以为Calendar.YEAR/Calendar.MONTH/Calendar.DAY_OF_MONTH/Calendar. HOUR_OF_DAY/Calendar.MINUTE8,ImageView/ImageButton主要方法setImageResource设置显示图片setAlpha设置Alphainvalidate强制更新setScaleType(ScaleTypest)设置图片显示方式,st是一枚举setAdjustViewBounds设置是否调整控件适应图片大小setBackgroundResource设置背景9,ImageSwitcher(显示一系列的图片,但当前只显示一张图片)显示数据setFactory(ViewSwitcher.ViewFactoryfactory)设置要显示的数据,ViewFactory接口须实现方法publicViewmakeView(){}负责提供当前显示的视图(ImageView),且View必须为新实例方法setImageResource设置当前显示的图片getCurrentView()返回当前显示的视图setInAnimation(Animationani)设置视图装载入时的动画效果,AnimationUtils.loadAnimation(Contextcontext,intid)获取动画效果android.R.anim.XXsetOutAnimation(Animationani)设置视图装载入时的动画效果10,Gallery(显示一系列的图片,提供拖动等特效)显示数据setAdapter(SpinnerAdapteradapter)设置数据适配器.数据适配器可以继承自BaseAdapter,该类publicViewgetView(intposition,ViewconvertView,ViewGroupparent)返回当前选择的视图(ImageView)选项选中监听setOnItemSelectedListener11,GridView(表格显示一系列图片)显示数据setAdapter(ListAdapteradapter)设置数据适配器.数据适配器可以继承自BaseAdapter,该类publicViewgetView(intposition,ViewconvertView,ViewGroupparent)返回当前选择的视图(ImageView)选项选中监听setOnItemSelectedListenergetSelectedView()返回当前选中的视图12,ScrollView13,ProgressBarsetIndeterminate设置进度条是否自动运转setProgressStyle设置显示风格.ProgressDialog.STYLE_HORIZONTAL/ProgressDialog.STYLE_SPINNE RsetProgress设置进度setMax设置最大值getProgress()获取当前进度14,SeekBar方法setMax设置最大值getProgress()获取当前值setProgress设置值setIndeterminate监听器setOnSeekBarChangeListener其下有三个方法publicvoidonProgressChanged(SeekBararg0,intarg1,booleanarg2)//数值变更,arg1新值,是否TouchpublicvoidonStartTrackingTouch(SeekBarseekBar)//开始拖动publicvoidonStopTrackingTouch(SeekBarseekBar)//结束拖动15,ListViewa,显示数据setAdapter(ListAdapteradapter)adapter可为newSimpleCursorAdapter/SimpleAdapter(Contextcontext,intlayout,Curs orc,String[]from,int[]to)layout用来显示数据的模板.显示一列可用yout.simple_list_item_1两列可用yout.simple_list_item_2多列则需要自己实现xml视图布局文件c数据(可用ArrayList构造数据)from':to用来显示对应列的空件idb,动态增删数据adapter.notifyDataSetChanged()d,设置背景色setBackGroudRource。