Android的基本控件和Activity的应用总结

1,875 阅读5分钟

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中修改某个属性的值来控制控件的表现形式。

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tvl"
    android:background="#ffffff"
    android:text="@string/app_name"
    android:textColor="#0000FF"
    android:textSize="20sp"
    />

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