1、什么是Activity?
在Android当中,Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。在Activity中包含一个window对象,在window当中通常包含一个布局容器对象(如LinearLayout布局对象),在布局对象中包含了我们之前讲解的各种UI组件。和HTML DOM一样,Android的Activity也是一个具有严格层次结构的,类似于树形的对象结构。
2、回调
C、C++、Java Script中的回调是通过指针来实现的;但是Java中不允许直接操作指针,回调是通过接口来实现的。接口(系统框架)是系统提供的,接口的实现使用户实现的。系统通过在不同的状态“回调”我们的实现类来达到接口和实现的分类。(Activity接口)
3、如何创建自己的Activity?(三步走)
MyActivity.java → activity_my .xml → 在AndroidManifest.xml中的相应注册 或者 new→Android Activity
第一步:在相应的布局文件中定义显示布局;
第二步:定义Activity类是,继承Activity,并求重写onCreate()方法
- 找到对应的xml布局文件:setContentView(R.layout.main)
- 通过findViewById找到相应控件对象:btn = (Button)this.findViewById(R.id.button01);
第三部:在AndroidManifest.xml中注册。
1.文本类:
TextView、EditText、AutoCompleteTextView、MultAutoCompletTextView 、(TextSwitcher) 、(DigitalClock)
ExtractEditText、CheckedTextView、Chronometer
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="#2196F3"
android:textSize="40sp"
android:text="李易峰最帅"
/>
android:textColor是设置的字体颜色
android:textSize是设置的字体大小
android:text主要就是文本的内容
这部分代码之后呈现出来的就是这个样子的。
EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入你的账号"/>
这个就是输入框,输入框中的提示信息
之后就是这个样子了
2.按钮类:
Button、CheckBox、RadioButton(RadioGroup) 、ToggleButton 、(ImageButton )
CompoundButton、ZoomButton、ZoomControls
Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="登录" />
这是一个按钮,可以设置一下按钮的名称
3.图片类:
ImageView、ZoomButton、ImageButton、(ImageSwitcher )
QuickContactBadge
ImageView
android:id="@+id/imageView"
android:layout_width="208dp"
android:layout_height="176dp"
android:layout_weight="1"
tools:srcCompat="@drawable/lyf" />
ImageView是插入图片的,把图片放在drawable这个文件夹里面然后把这张照片的路径像这样放着就可以了
然后图片就会像下图那样。
4.时间控件:
DigitalClock、AnalogClock、TimePicker、DatePicker
5.进度显示:
ProgressBar、AbsSeekBar、SeekBar、RatingBar
6.导航:
TabHost、TabWidget。
7.视频媒体:
VideView、MediaController、SurfaceView
8.Dialog对话框
CharacherPickerDialog、AlertDialog、DatePickerDialog、ProgressDialog、TimePickerDialog
9.网页:
WebView
10.动画:
ViewAimator、ViewFilpper、ViewSwitcher、ImageSwitcher、TextSwitcher
11.滚动条:
HorizontalScrollView、ScrollView
以上例举了一些很常用的控件。
下面就是一些控件的基本用法:
android:id = "@+id/XXX"程序中通过ID来关联控件
android:layout_width/android:layout_height控制控件的宽度/高度,可选"wrap_content"/"fill_parent"/"match_parent"/具体像素
android:layout_marginLeft/Right/Top/Bottom =“5dip”各边距离其他控件的距离
android:gravity 控件中内容的显示位置
android:textSize空间中文本大小
android:textColor = "#ff123456"空间中文本颜色,以#开头,前两位为透明值,后六位为颜色值
android:textStyle ="normal"/"bold"/"italic"控件文本风格,也可用“|”将属性组合起来
android:text控件文本内容
android:background = "@drawable/window_bg"控件背景
android:src = "@drawable/window_bg"控件图片,用于ImageButton,ImageView等需要图片的控件
android:visibility控件可见性,"visible"表可见,"invisible"表不可见,但在布局中占用的位置还在,"gone"表不可见,完全从布局中消失
android:padding控件中内容与控件边框的距离
android:weight指定画完控件后剩余空间的分配所占比例
android:ems/maxEms/minEms控制控件宽度
LinearLayout特有属性
android:orientation 布局中子控件排布方向
TableLayout特有属性
android:stretchColums 指定当一个TableRow中的控件不够填充满整个宽度时,将会被拉伸的条目。
网友评论