3.1常用控件
1、TextView
显示文本信息。
2、Button(按钮)
android:textAllCaps=“false” 禁用自动大写
对于按钮的监听事件有两种方法
使用匿名类方式注册监听器
Button button=findViewById(R.id.Button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "button被点击", Toast.LENGTH_SHORT).show();
}
});
实现接口的方式注册监听器
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
@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:
Toast.makeText(this, "这是button", Toast.LENGTH_SHORT).show();
break;
default:break;
}
}
}
3、EditText(输入框)
一些属性:
输入框提示:android:hint=“用户名”
设置密码样式:android:password=“true”
输入框达到与用户进行交互的目的,我们先将输入信息获取。
结合button,点击则输入完毕,获取信息。首先findViewById获取editte实例,然后在按钮的点击事件里调用EditText的getText()获取内容,再调用toString()转换成字符串,最后显示出来。
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=findViewById(R.id.Button);
button.setOnClickListener(this);
editText=findViewById(R.id.ed_1);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.Button:
String Text=editText.getText().toString();
Toast.makeText(this, Text, Toast.LENGTH_SHORT).show();
break;
default:break;
}
}
}
4、ImageView(显示图片)
将图片放进drawable目录里,在代码中可以实现图片的转换。
在点击转换按钮时,用对应的ImageView调用setImageResource(图片二) 方法改成图片二。
5、ProgressBar(进度条)
旋转的进度条可以用来表示我们正在加载的数据,在数据加载完同时进度条也应该消失。这时不得不介绍一下两个方法
第一、android:visibility来指定:visible 可见的 invisible 不可见的但仍然占据原来的位置和大小 gone 不可见,且不再占用空间;
第二、在代码里使用setVisibility()方法,对应有三种值:View.VISIBLE,View.INVISIBLE,View.GONE.
getVisibility()方法可以获得当前的进度条的状态。
6、AlertDialog(对话框)
创建一个对话框:
1)首先用AlertDialog.Builder创建一个实例dialog;
2)然后可以用.setTitle()方法设置标题,用.setMessage()设置内容,用setCancelable()可以否用Back键关闭对话框;
3)用setPositiveButton()方法为对话框的按钮的点击事件;
4)用setNegativeButton()方法设置取消按钮的点击事件;
5)最后可以调用show()方法将对话框显示出来。
public void onClick(View v) {
switch(v.getId()){
case R.id.Button:
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("this is a dialog");
dialog.setMessage("this is the message");
dialog.setCancelable(false);
dialog.setPositiveButton("yes", 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;
}
}
7、ProgressDialog(进度对话框)
与对话框用法相似,但是多了一个进度条,一般用于在操作比较耗时,让用户耐心等待。
如果在setCancelable()中传入了false,表示该对话框不能用手机上Back键取消掉,但是当数据加载完后我们一定要记得用dismiss()方法来关闭对话框。
到这里你是不是还兴致勃勃,满心期待与其他控件呢?废话不多说,我们再学一波。
8、RadioButton(单选框)
先设置一个RadioGroup,设置方向(横向或纵向),然后在组里面添加RadioButton,依次设置。
可以用android:checked="true"使其中一个选项默认选中。
9、checkbox(复选框)
复选框可以多选。利用setOnCheckedChangeListener()方法来监听,我们给两个checkbox设置监听:
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
private EditText editText;
private CheckBox cb_1,cb_2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cb_1=findViewById(R.id.cb_1);
cb_2=findViewById(R.id.cb_2);
cb_1.setOnCheckedChangeListener(this);
cb_2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
String desc2=String.format("你%s了第二个checkbox",isChecked?"勾选":"取消");
Toast.makeText(MainActivity.this, desc2, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
String desc=String.format("你%s了第一个checkbox",isChecked?"勾选":"取消");
Toast.makeText(this, desc, Toast.LENGTH_SHORT).show();
}
}
好啦常用控件介绍到这里了,期待与你再会,下篇将会有开关等更多控件简要介绍以及形状图形的设置。