Android中常用控件
TextView

<TextView        android:id="@+id/textview"        android:textSize="30dp"        android:textColor="@color/colorAccent"        android:text="TextView"        android:gravity="center" //用于指定文字在控件中的位置        android:layout_width="match_parent"        android:layout_height="wrap_content" />        

Button

  <Button       android:id="@+id/b1"       android:text="button"       android:textAllCaps="false"       android:layout_width="wrap_content"       android:layout_height="wrap_content" />

button的点击事件有两种方式(注册监听器)
1:匿名类

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button b1 = findViewById(R.id.b1);        b1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Toast.makeText(MainActivity.this,"点击按钮",Toast.LENGTH_SHORT).show();            }        });    }}

2:实现接口

public class MainActivity extends AppCompatActivity implements View.OnClickListener{    //继承接口    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);       Button b1 = findViewById(R.id.b1);       b1.setOnClickListener(this);    }    @Override    public void onClick(View view) {        switch(view.getId()){            case R.id.b1:Toast.makeText(MainActivity.this,"点击按钮",Toast.LENGTH_SHORT).show();            break;        }    }}

EditText

<EditText        android:id="@+id/editext"        android:hint="This is a EditText" //用于提示信息          android:layout_width="match_parent"        android:layout_height="wrap_content" />

可以用getText()方法获取其中的文本内容。

ImageView

<ImageView        android:src="@drawable/ic_launcher_background"//用于指定放置哪张图片        android:layout_width="wrap_content"        android:layout_height="wrap_content" />

可以用setImageResource()方法更换图片。

ProgressBar

<ProgressBar //默认圆形进度条        android:layout_width="wrap_content"        android:layout_height="wrap_content" />

控制进度条:
首先需要知道Android控件的可见属性,可以通过android:visibility进行指定,可选值有三种。
visible:控件可见,在不指定时,默认为此。
invisible:控件不可见,但仍然占据着原来的位置和大小。
gone:控件不但不可见,而且不占据任何的屏幕空间和大小。
我们还可以通过代码来控制控件的可见性,使用的是setVisibility()方法,可传入View.VISIBLE,View.INVISIBLE,View.GONE三种值。

请看如下代码,如果进度条显示将其隐藏起来,如果进度条隐藏就将其显示出来。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">    <Button        android:id="@+id/b1"        android:text="改变进度条的显隐性"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <ProgressBar        android:id="@+id/p1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>package com.example.fffff;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    Button b1;    ProgressBar p1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);       p1 = findViewById(R.id.p1);       b1 = findViewById(R.id.b1);       b1.setOnClickListener(new View.OnClickListener() {           @Override           public void onClick(View view) {               if(p1.getVisibility()==View.VISIBLE){                   p1.setVisibility(View.GONE);               }else{                   p1.setVisibility(View.VISIBLE);               }           }       });    }}

接下来我们将圆形进度条改成水平进度条,并动态的更改进度条进度。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">    <Button        android:id="@+id/b1"        android:text="增加进度条进度"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <Button        android:id="@+id/b2"        android:text="减少进度条进度"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <ProgressBar        android:id="@+id/p1"        android:max="100"        style="?android:attr/progressBarStyleHorizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content" /></LinearLayout>package com.example.fffff;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    Button b1;    Button b2;    ProgressBar p1;    int progress;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);       p1 = findViewById(R.id.p1);       b1 = findViewById(R.id.b1);       b2 = findViewById(R.id.b2);       b1.setOnClickListener(new View.OnClickListener() {           @Override           public void onClick(View view) {              progress = p1.getProgress();              progress = progress+10;              p1.setProgress(progress);           }       });        b2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                progress = p1.getProgress();                progress = progress-10;                p1.setProgress(progress);            }        });    }}

AlertDialog

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">    <Button        android:id="@+id/b1"        android:text="显示对话框"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>package com.example.fffff;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    Button b1;    int progress;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);       b1 = findViewById(R.id.b1);       b1.setOnClickListener(new View.OnClickListener() {           @Override           public void onClick(View view) {               AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);               dialog.setTitle("This is a Dialog");               dialog.setMessage("Something important");               dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {                   @Override                   public void onClick(DialogInterface dialogInterface, int i) {                   }               });               dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {                   @Override                   public void onClick(DialogInterface dialogInterface, int i) {                   }               });               dialog.show();           }       });    }}

ProgressDialog
ProgressDialog和ProgressDialog相似,只是会在对话框中显示一个进度条,一般用于表示操作比较耗时。

package com.example.fffff;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    Button b1;    int progress;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);       b1 = findViewById(R.id.b1);       b1.setOnClickListener(new View.OnClickListener() {           @Override           public void onClick(View view) {               ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);               progressDialog.setTitle("This is a progressdialog");               progressDialog.setMessage("Loading...");               progressDialog.show();           }       });    }

}

更多相关文章

  1. android中TextView嵌套在ScrollView中并自由滚动
  2. Android大图片加载处理
  3. android动态布局:用java代码实现LinearLayout以及TextView
  4. android 状态栏与标题栏一体化
  5. Android(安卓)NullPointerException at android.text.BoringLayo
  6. android常用控件
  7. Android(安卓)调用相册 拍照 实现系统控件缩放 切割图片
  8. 【Android】以BaseAdapter做适配器的ListView及其性能优化
  9. Android常见错误处理(三)

随机推荐

  1. SQL Server简单恢复模型
  2. NAO机器人opencv版本问题解决
  3. 93%企业使用多云环境!企业数据安全当如何
  4. NAO机器人py文件植入
  5. 数据安全也要加把“保护锁”
  6. 为什么要学习Take Command?
  7. 单阶段目标检测
  8. Take Command 事件监视命令(触发器)
  9. 五个关键的云安全挑战以及如何克服它们
  10. 【DB笔试面试490】 如何导出csv和html文