本人小白,大学期间,打算开始自学Android,准备用博客写下所学所得,希望有所收获,望大家互相帮助
1.TextView
TextView主要用于在界面上显示一段文本信息 。
在TextView 中使用 android:id 给当前控件定义了一个唯一标识符。
使用android:layout_width 指定了控件的宽度
使用android:layout_height 指定了控件的高度。
Android中所有的控件都具有这两个属性,可选值有三种 match_parent、fill_parent 和 wrap_content,其中 match_parent和fill_parent 的意义相同,现在官方更加推荐使用 match_parent。
match_parent表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小。
wrap_content 表示让当前控件的大小能够刚好包含住里面的内容,也就是由控件内容决定当前控件的大小。
使用 android:gravity 来指定文字的对齐方式,可选值有 top、bottom、 left、right、 center
等 , 可 以 用 “| ” 来 同 时 指 定 多 个 值
2.Button
Button 是程序用于和用户进行交互的一个重要控件
我们可以在 MainActivity 中为 Button 的点击事件注册一个监听器,如下所示:
public class MainActivity extends Activity {
private Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 在此处添加逻辑
}
});
}
}
这样每当点击按钮时,就会执行监听器中的 onClick()方法,我们只需要在这个方法中加
入待处理的逻辑就行了。
也可以使用实现接
口的方式来进行注册,代码如下所示:
public class MainActivity extends Activity implements OnClickListener {
private Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
// 在此处添加逻辑
break;
default:
break;
}
}
}
3.EditText
EditText 是程序用于和用户进行交互的另一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Type something here"
android:maxLines="2"
/>
</LinearLayout>
android:hint 属性来指定了一段提示性的文本
android:maxLines 指定了 EditText 的最大行数为两行,这样当输入的内容超过两行时,文本就会向上滚动,而EditText 则不会再继续拉伸
4.ImageView
mageView是用于在界面上展示图片的一个控件,通过它可以让我们的程序界面变得更加丰富多彩
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
/>
android:src 属性给 ImageView指定了一张图片,并且由于图片的宽
和高都是未知的,所以将 ImageView 的宽和高都设定为wrap_content,这样保证了不管图片
的尺寸是多少都可以完整地展示出来。
5.ProgressBar
ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
旋转的进度条表明我们的程序正在加载数据 ,当数据加载完时,通过android:visibility 这个属性使进度条消失,可选值有三种,visible、 invisible和 gone。
visible表示控件是可见的,这个值是默认值,不指定 android:visibility时,控件都是可见的。
invisible表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了。
gone则表示控件不仅不可见,而且不再占用任何屏幕空间。
我们还可以通过代码来设置控件的可见性,使用的是setVisibility()方法,可以传入View.VISIBLE、 View.INVISIBLE 和 View.GONE 三种值。
6.AlertDialog
AlertDialog 可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力, 因此一般AlertDialog 都是用于提示一些非常重要的内容或者警告信息。 比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。
用法:
修改 MainActivity 中的onClick代码,如下所示:
public class MainActivity extends Activity implements OnClickListener {
……
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
AlertDialog.Builder dialog = new AlertDialog.Builder
(MainActivity.this);
dialog.setTitle("This is Dialog");
dialog.setMessage("Something important.");
dialog.setCancelable(false);
dialog.setPositiveButton("OK", new DialogInterface.
OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.setNegativeButton("Cancel", new DialogInterface.
OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.show();
break;
default:
break;
}
}
}
首先通过 AlertDialog.Builder创建出一个 AlertDialog的实例,然后可以为这个对话框设
置标题、内容、可否取消等属性,接下来调用 setPositiveButton()方法为对话框设置确定按钮
的点击事件,调用 setNegativeButton()方法设置取消按钮的点击事件,最后调用show()方法
将对话框显示出来。
7.ProgressDialog
ProgressDialog 和AlertDialog 有点类似,都可以在界面上弹出一个对话框,都能够屏蔽
掉其他控件的交互能力。不同的是, ProgressDialog 会在对话框中显示一个进度条,一般是
用于表示当前操作比较耗时,让用户耐心地等待。它的用法和 AlertDialog 也比较相似