学习Android基础知识第三天(基本控件的使用和介绍)
常用控件的使用方法
在Android的开发中我们用得最多的UI控件是TextView,Button,EditText,ImageView,
ProgressBar,AlertDialog,ProgressDDialog等,一下就是对这些控件的简单介绍和基本的使用方法
一.TextView的介绍和使用:
TextView主要用与显示一段文本信息
在activity_main.xml中的代码如下:
<TextView
Android:id="@+id/text_view" //定义控件唯一的标识符
android:layout_width="match_parent"//控件的宽度
android:layout_height="wrap_content"//控件的高度
android:text="This is TextView" />//控件显示文本
其中在Android控件都有连个属性,宽度和高度,可选值以下三种: match_parent:表示当前控件和父控件的大小一样,由父控件决定当前控件的大小
fill_parent和
wrap_content:表示让当前控件的大小能够刚好包含住里面的内容,也就是控件的大小由控件的内容决定当前控件的大小
二.Button的使用和介绍
Button是程序勇于用于和用户交互的一种重要的控件
在activity_main,xml中这样加入Button
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is Button" />
在MainActivity中为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)findViewVyId(R.id.Button);
buttoon.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)bbutton.findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
protected void onClick(View v){
switch(v.getId){
case R.id.button:
//填写逻辑
break;
default:
breeak;
}
}
三.Editext的使用和介绍
EditText 是程序用于和用户进行交互的另一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理.
在activity_main.xml中代码 :
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:tetx="This is editText"
Android:maxLines="2"/>//表示editText的最大行数为两行
以下是button和editText的结合
public class MianActivity extends Actity implements OnClickListener{
private Button button;
private EditText editText;
@Override
protected void onCreate(Bundl savedInstanceState){
super.onCreate(svaedInstanceState);
button = (Button) findViewById(R.id.button);
ediText = (EditText)findViewById(R.id.editText);
button.setOnClickListener(this);
}
@Override
protected void onClick(View v){
switch(v.getid()){
case R.id.button:
String inputText = ediText.getText().toString();
Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
四.ImageView的使用和介绍
ImageView在Android开发中用于显示各式各样的图片,丰富了用户界面.
在activity_main.xml中ImageView的代码如下:
<ImageView
android:id="@+id/imageView"
android:layout="match_parent"
android:layout="wrap_content"
android:text="This is ImageView" />
通过代码更改ImageView中的图片
public class MainActivity extends Activity implements OnClickListener{
private Button button;
private ImageView imageView;
@Override
protected void onCreate(Bundl savedInstanceState){
super.onCreate(saveInstanceSate);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
imageView = (ImageView) findViewById(R.id.imagView);
button.setOnClickListenter(this);
}
@Override
protected void onClck(View V){
switch(v.getID()){
case R.id.Button:
imageView.setIamgeResource(R.drawable.jelly_bean);
break;
default:
break;
}
}
五.ProgressBar的使用和介绍
ProgressBar用于在界面上显示一个进度条,表示正在加载一些数据,作用简单
在acyivvity_main.xml中的代码:
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
其中ProgressBar有三个值visible,invisible,gone,三个值,
visibble:表示控件可见
invisible:表示控不可见
gone:表示控件不仅不可见,而且不占据任何屏幕空间,我们可以通过setVisibility()方法,通过传入View.VISIBLE,View.INVISIBLE,View.GONE三个值来进行调节控件是否可见.
在MainActivity中的代码:
public class MainActivity extends AppCompatActivity {
private Button button;
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button1);
progressBar = findViewById(R.id.progressBar);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button1:
contr1;//以圆圈的形式显示进度条
contr2;//以百分比加的形式显示进度条
break;
default:
break;
}
}
});
}
public void contr1(){
if(progressBar.getVisibility() == View.GONE){
progressBar.setVisibility(View.VISIBLE);
}
else{
progressBar.setVisibility(View.GONE);
}
}
public void contr2(){
int pprogressBar = progressBar.getProgress();
pprogressBar = pprogressBar+10;
progressBar.setProgress(pprogressBar);
}
}
六.AlertDialog的使用和介绍
AlertDialog控件可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此一般 AlertDialog 都是用于提示一些非常重要的内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。
在MainActivity中的代码如下:
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button1:
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("this is Dialog");
dialog.setMessage("你是否要删除信息");
dialog.setCancelable(false);
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
dialog.show();
break;
default:
break;
}
}
});
}
}
七.ProgressDialog的用发和介绍
ProgressDialog和AlertDilog有点类似,都可一在界面上他弹出一个对话框,能够屏蔽其他控件的交互能力,不同是ProgressDialog会在对话框显示一条进度条,用于表示当前操作比较耗时,让用户耐心的等待,在MainActivity中的代码如下:
public class MainActivity extends AppCompatActivity {
private Button buttonProgressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonProgressDialog = findViewById(R.id.progressButton);
//ProgressDialog的测试代码
buttonProgressDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.progressButton:
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("This is ProgressDialog");
progressDialog.setMessage("Loading");
progressDialog.show();
break;
default:
break;
}
}
});
}
}