Android的基本控件
常用界面控件
TextView 显示文本信息 button 普通按钮 EditText 可编辑的文本框组件(输入框) ImageView 用于显示图片 ImageBUtton 图片按钮 CheckBox 复选框 RadioGroup 单选按钮组 Spinner 下拉列表组件 ProgressBar进度条 SeekBar拖动条 RatingBar评分组件 ListView列表 Dialog对话框 Toast信息提示组件 所有控件的基类为View,ViewGroup继承于View,它可以含有其他的View,就像一个View的容器。
TextView
TextView控件继承自View类,位于android.widget包中。TextView控件的功能是向用户显示文本的内容,但是不允许编辑的,常用属性如下所示:
android:layout_widt设置控件的宽度 android:layout_height设置控件的高度 android:id设置组件的ID android:text设置文本内容 android:textColor设置文本颜色 android:textSize设置文本大小 android:background设置控件的背景色 android:gravity设置文本相对控件地位置 android:layout_gravity设置控件相对其所在容器的位置 TextView控件的使用首先要增加到布局文件中,即res/layout/main.xml文件中。
初始添加的TextView控件默认形式,如需要修改TextView的显示内容、字体大小等,有以下两种方式
(1).可以在XML中修改某个属性的值来控制控件的表现形式。
复制代码
android属性声明了TextViewDE的ID,这个ID主要用于在代码中引用这个TextView对象。“@+id/tvl”表示所设置的Id值,@表示后面的字符串是ID资源,加号(+)表示需要建立新资源名称,并添加到R.java文件中,斜杆后面的字符串(tvl)表示新资源的名称。
(2).可以通过代码获取这个控件的对象来修改其属性。
1.View在XML中必须已配置id。
2.通过View的findViewById(int id)修改属性。
import android.widget.TextView;public class sxn extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView) findViewById(R.id.tvl); tv.setText("hello world"); tv.setTextSize(20); tv.setTextColor(0xffffffff); tv.setBackgroundColor(0xff0000ff); }}复制代码
EditText
EditText是一个非常重要的组件,它是用户和Android应用进行数据传输的窗口,有了它就等于有了一扇和Android应用传输的“门”,通过它,用户可以把数据传给Android应用,然后得到用户想要的数据。
EditText继承自Android.widget.TextView,在android.widget包中,EditText是TextView的子类,具有TextView的属性特点
android:inputType 设置文本的类型 android:digits 设置允许输入哪些字符 android:hint 设置编辑框内容为空时显示的提示信息 android:password 设置只能输入密码,以“,”显示文本 android:singleLine 设置文本单行显示 android:editable 设置是否可编辑 android:requestFocus()使当前组件对象获得焦点 android:phoneNumber 设置电话号码的输入方式 android:ems 设置控件的宽度为N个字符
Button
button控件是一种按钮控件,用户可以在该控件上单击,并能引发相应的事件处理函数,Button继承自android.widget.TextView ,在android.widget包中,其常用子类自CheckBox、RadioButton、ToggleButton等。
Button的基本使用方法有以下几种。
(1)添加Button控件到xml布局文件中,也可以通过程序添加。
在布局文件中设置按钮的一些属性,如位置、宽高、按钮上的文字,颜色等,比较重要的是要给按钮一个ID,这是按钮唯一的名称。
(2).处理按钮的单击事件。
按钮单击右如下两种处理方法。
1.通过onClick属性 设置处理单击事件的方法名,在Acivity中实现这个方法。 在XML布局文件中设置Button的属性,即android:onClik="myclick",然后在该布局文件对应的Activity中实现该方法。
Activity的应用总结
什么是Activity呢?
Activity是与Android app提供交互的重要组件。Activity负责创建一个窗口,在这个窗口基础上开发者可以通过setContentiew添加UI,Activity默认全屏显示也可以作为浮动窗口显示。 Activity存在的目的是为了降低耦合,把用户自定义与系统调用分离开。 例如Activity提供如下处理:
控制窗口层级与显示关系(例如当前页面有多个弹出窗口,多个Toast每个Dialog与Toat都是新的窗口)
在窗口中按照创建setContentView传递View对象创建界面。
在窗口与视图上处理触摸事件、硬键盘事件、滚轮事件。
在当前视图进行绘制、响应窗口所有事件。
控制输入法在当前窗口的显示与隐藏。 1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
总结一下整个Activity的生命周期
补充一点,当前Activity产生事件弹出Toast和AlertDialog的时候Activity的生命周期不会有改变
Activity运行时按下HOME键(跟被完全覆盖是一样的):onSaveInstanceState --> onPause --> onStop onRestart -->onStart--->onResume