android中常用的控件

本文详细介绍了Android开发中常用的UI控件,包括TextView、Button、EditText、ImageView、ProgressBar、AlertDialog及ProgressDialog的功能与使用方法。

本人小白,大学期间,打算开始自学Android,准备用博客写下所学所得,希望有所收获,望大家互相帮助

1.TextView

TextView主要用于在界面上显示一段文本信息 。

TextView 中使用 android:id 给当前控件定义了一个唯一标识符。

使用android:layout_width 指定了控件的宽度

使用android:layout_height 指定了控件的高度。

Android中所有的控件都具有这两个属性,可选值有三种 match_parentfill_parent wrap_content,其中 match_parentfill_parent 的意义相同,现在官方更加推荐使用 match_parent 

match_parent表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小。 
wrap_content 表示让当前控件的大小能够刚好包含住里面的内容,也就是由控件内容决定当前控件的大小。

使用 android:gravity 来指定文字的对齐方式,可选值有 topbottomleftrightcenter
等 , 可 以 用 “| ” 来 同 时 指 定 多 个 值

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 这个属性使进度条消失,可选值有三种,visibleinvisible gone 

visible表示控件是可见的,这个值是默认值,不指定 android:visibility时,控件都是可见的。

invisible表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了。

gone则表示控件不仅不可见,而且不再占用任何屏幕空间。

我们还可以通过代码来设置控件的可见性,使用的是setVisibility()方法,可以传入View.VISIBLEView.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 也比较相似


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值