1 . TextView 显示文本
gravity:设置对齐方式 center top bottom left right
textSize:修改文字大小,如24sp
textColor:修改文字颜色,如#00ff00(绿色)
……
2 .Button 按钮,和用户交互的重要控件
为Button注册监听器的两种方式:
① 匿名函数
public class MainActivity extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 在此处添加逻辑
}
});
}
②使用接口
public class MainActivity extends Activity implements OnClickListener {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v){
switch (v.getId()){
case R.id.button:
//此处添加逻辑
break;
default:
break;
}
}
}
3 .EditText 允许用户在控件里输入和编辑内容,也是和用户交互的一个重要控件
为EditText设置提示信息:
android:hint="Type something here"
为EditText指定最大行数:
android:maxLine="2"
4 . 结合使用EditText和Button来完成一些功能。
例:通过点击按钮来获取EditText中输入的内容。
代码如下:
public class MainActivity extends Activity implements OnClickListener{
private Button button;
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button) findViewById(R.id.button);
editText=(editText) findViewById(R.id.edit_text);
button.setOnClickListener(this);
}
@Override
public void onClick(View v){
switch (v.getId()){
case R.id.button:
String onputText=editText.getText().toString();
Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
5 .ImageView 图片
①在布局中插入图片
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
>
<!--假设drawable文件夹下已有一张名为ic_launcher的图片-->
②使用Button按钮和ImageView完成点击按钮切换图片的功能,假设此时drawable文件夹中有一张名为jelly_bean的图片。代码如下:
6 . ProgressBar 进度条
①为布局添加进度条
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
(此时进度条默认为圆形)
注:所有的Android控件都具有visibility属性。可选值有三种:visible(可见)、invisible(不可见但仍占据原有空间)、gone(不可见且不占空间)。可用代码设置空间的可见性,使用setVisibility()方法,传入View.VISIBLE、View.INVISIBLE、View.GONE三种值。
②实现点击按钮切换图片和ProgressBar可见性的功能。
首先,在onCreate()中添加一行声明:
progressBar=(ProgressBar) findViewById(R.id.progress_bar);
然后,在button的onClick(View v)事件中添加代码:
switch(v.getId()){
case R.id.button:
if(progressBar.getVisibility()==View.GONE){
progressBar.setVisibility(View.VISIBLE);
imageView.setImageResource(R.drawable.jelly_bean);
}
else{
progressBar.setVisibility(View.GONE);
imageView.setImageResource(R.drawable.ic_launcher);
}
break;
default:
break;
}
③更改进度条外观
在标签中增加下面两行代码:
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
(max属性给进度条设置一个最大值,然后在代码中动态地更改进度条的进度)
然后在onClick()方法中的case R.id.button:后添加以下代码:
int progress=progressBar.getProgress();
progress=progress+10;
progressBar.setProgress(progress);
break;
每次点击按钮,先获取到当前进度,然后在现有的进度上+10作为更新后的进度,直到进度变为最大值100。
7 . AlertDialog 在当前界面弹出一个对话框
此对话框置顶于所有界面元素之上,能够屏蔽其他空间的交互能力。一般用它来提示一些非常重要的内容或者警告信息。
在 case R.id.button:后修改代码如下:
AlertDialog.Builder dailog=new AlertDialog.Builder(MainActivity1,this);
dialog.setTitle("This is a Dialog");
dialog.setMessage("Something important.");
dialog.setCancelable(false);
dialog.setPositiveButton("OK",new DialogInterface.OnClickListener(){
@Override
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的实例,并且为它设置标题、内容、可否取消等属性。
然后调用setPositionButton()方法为对话框设置确定按钮的点击事件,用setNegativeButton()方法为对话框设置取消按钮的点击事件。
最后调用show()方法将对话框显示出来。
8 .ProgressDialog 带进度条的对话框
ProgressDialog与AlertDialog用法相似,都是在界面上弹出一个对话款。不同的是,ProgressDialog会在对话框中显示一个进度条。
修改case R.id.button:后的代码如下:
ProgressDialog progressDialog=new ProgressDialog(MainActivity1.this);
progressDialog.setTitle("This is ProgressDialog");
progressDialog.setMessage("Loading……");
progressDialog.setCancelable(true);
progressDialog.show();
下图为弹出的对话框: