一、常用基本控件
1.TextView
看到Android中的TextView, 我不禁的想到了iOS开发中的UILabel。从字面意思上看,TextView就是文本视图,只是用来显示文字的。在iOS中就叫做标签,即为UILabel。要想在Activity中显示TextView, 我们需要在相应的布局文件,也就是Activity对应的layout.xml文件去添加相应的控件标签。这些xml标签可以确定控件的位置,大小,颜色等属性。下方是在Activity中显示一个TextView。布局代码如下:
1
2 android:id="@+id/name_text_view"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content"
5 android:gravity="center"
6 android:textSize="30sp"
7 android:textColor="#be0e0a"
8 android:text="My name is ZeluLi"/>
标签代表着我们要在Activity中添加一个个TextView, 标签中可以设置一些属性。
(1).android:id属性代表着TextView的Id,也就是TextView的唯一标示,在java代码中我们可以通过findViewById()方法来通过Id获取控件。上述控件的唯一id为name_text_view。
(2).android:layout_width属性代表着控件的宽度,该属性的值是match_parent, 表示该控件的宽度与父视图的宽度相同。
(3).android:layout_height属性代表着控件的高度,该属性的值是wrap_content,表示控件的高度根据内容的高度进行改变。
(4).android:gravity属性代表着TextView中文字对齐方式,有多种方式,我们在此选的是center,居中显示。
(5).android:textSize属性代表着TextView中文字的型号,也就是文字的大小。
(6).android:textColor属性设置的是TextView中文字的颜色,属性值是16进制的色值。
(7).android:text属性就是用来设置TextView显示的值的。
我们如何在Java类,也就是Activity中获取上述控件呢,下方的代码就是使用findViewById()方法通过id获取上述控件,并获取TextView中的值以及设置TextView中的值。具体代码如下。
TextView myTextView = (TextView) findViewById(R.id.name_text_view);
String myText = myTextView.getText().toString();
myTextView.setText(myText+" Add");
2.Button
在Android中的按钮就叫Button, 而在iOS中则叫UIButton。其两者的用法极为相似。还是和上面类似,我们需要在Activity对应的布局文件layout.xml中添加一个Button, 具体的xml代码如下所示。标签就是代表着Button, 其中的属性和属性值就不做过多的赘述了,上面已经提到了。
android:id="@+id/click_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点我"/>
在Activity的类中也是使用findViewById来通过Id获取该按钮,获取按钮后我们需要给按钮绑定点击事件。也就是点击按钮要做的事情,下方给出了两中方式,一种是块的形式,一种是委托代理的形式。
(1).接口回调的形式绑定点击事件
1 Button button = (Button) findViewById(R.id.click_button);
2 button.setOnClickListener(new View.OnClickListener() {
3 @Override
4 public void onClick(View v) {
5 //点击按钮要做的事情
6 }
7 });
(2)委托代理
1 button.setOnClickListener(this);
2
3 //重写委托回调的方法
4 /**
5 * Called when a view has been clicked.
6 *
7 * @param v The view that was clicked.
8 */
9 @Override
10 public void onClick(View v) {
11 switch (v.getId()){
12 case R.id.click_button:
13 //点击按钮后要做的事情
14 break;
15 default:
16 break;
17 }
18 }
3.EditText
接下来要为Activity添加一个输入框,在Android中输入框的类型和标签都是EditText。iOS中的输入框就是UITextField了,其实两者用法类似,其功能都是接收用户输入的数据的。下方是其xml布局方式.
1
2 android:id="@+id/edit_text"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content"
5 android:hint="placeHoder: type something here"
6 android:maxLines="3"/>
上方EditText标签中比之前多了两个属性:
(1).android:hint属性后边是一个字符串,其实就是用来占位用的字符串,功能是提示用户该输入框是干嘛的,在iOS开发中叫做Placeholder。
(2).android:macLines 用来设置输入框的最大行数。
在Activity中获取EditText对象,也是通过Id方式,下方代码是获取通过id实例化EditText对象,并获取其中的文本在Toast上显示。
EditText myEditText = (EditText) findViewById(R.id.edit_text);
String inputText = myEditText.getText().toString();
Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();