博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android常用控件的使用方法
阅读量:7137 次
发布时间:2019-06-28

本文共 8452 字,大约阅读时间需要 28 分钟。

引言

xml很强大

TextView

Button

语法

添加点击处理

1.第一种

package com.example.diandodo.helloworld;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log; // 引入可以使用日志import android.view.View;import android.widget.Button;public class HelloWorldActivity extends AppCompatActivity {    private static final String TAG = "HelloWorldActivity";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.hello_world_layout);        Button button = (Button) findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Log.d(TAG,"Click");            }        });    }}

2.第二种

package com.example.diandodo.helloworld;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log; // 引入可以使用日志import android.view.View;import android.widget.Button;public class HelloWorldActivity extends AppCompatActivity implements View.OnClickListener{    private static final String TAG = "HelloWorldActivity";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.hello_world_layout);        Button button = (Button) findViewById(R.id.button);        button.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.button:                Log.d(TAG,"Click");                break;        }    }}

EditText

允许用户输入和编辑内容

小案例,点击获取内容

1.布局

2.业务

package com.example.diandodo.helloworld;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log; // 引入可以使用日志import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class HelloWorldActivity extends AppCompatActivity implements View.OnClickListener{    private static final String TAG = "HelloWorldActivity";    private EditText editText; // 定义一个全局变量    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.hello_world_layout);        Button 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 inputText = editText.getText().toString();                Toast.makeText(HelloWorldActivity.this,inputText,Toast.LENGTH_SHORT).show();                break;        }    }}

ImageView

图片展示的控件。

图片通常放在以“drawable”开头的目录下。

小案例,点击更改图片

1.布局

2.业务

package com.example.diandodo.helloworld;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log; // 引入可以使用日志import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.Toast;public class HelloWorldActivity extends AppCompatActivity implements View.OnClickListener{    private static final String TAG = "HelloWorldActivity";    private EditText editText; // 定义一个全局变量    private ImageView imageView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.hello_world_layout);        editText = (EditText) findViewById(R.id.edit_text);        imageView= (ImageView) findViewById(R.id.image_view);        Button button = (Button) findViewById(R.id.button);        Button button_change_img = (Button) findViewById(R.id.button_change_img);        button.setOnClickListener(this);        button_change_img.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.button:                String inputText = editText.getText().toString();                Toast.makeText(HelloWorldActivity.this,inputText,Toast.LENGTH_SHORT).show();                break;            case R.id.button_change_img:                imageView.setImageResource(R.drawable.img_2);                break;        }    }}

ProgressBar

进度条

小案例,点击隐藏显示进度条

1.布局

2.业务

package com.example.diandodo.helloworld;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log; // 引入可以使用日志import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class HelloWorldActivity extends AppCompatActivity implements View.OnClickListener{    private static final String TAG = "HelloWorldActivity";    private EditText editText; // 定义一个全局变量    private ImageView imageView;    private ProgressBar progressBar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.hello_world_layout);        editText = (EditText) findViewById(R.id.edit_text);        imageView= (ImageView) findViewById(R.id.image_view);        progressBar = (ProgressBar) findViewById(R.id.progress_bar);        Button button = (Button) findViewById(R.id.button);        Button button_change_img = (Button) findViewById(R.id.button_change_img);        Button button_set_view = (Button) findViewById(R.id.button_set_view);        button.setOnClickListener(this);        button_change_img.setOnClickListener(this);        button_set_view.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.button:                String inputText = editText.getText().toString();                Toast.makeText(HelloWorldActivity.this,inputText,Toast.LENGTH_SHORT).show();                break;            case R.id.button_change_img:                imageView.setImageResource(R.drawable.img_2);                break;            case R.id.button_set_view:                if (progressBar.getVisibility() == View.GONE) {                    progressBar.setVisibility(View.VISIBLE); // INVISIBLE                } else {                    progressBar.setVisibility(View.GONE);                }                break;        }    }}

设为长的进度条

1.布局调整

2.业务处理

@Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.button:                String inputText = editText.getText().toString();                Toast.makeText(HelloWorldActivity.this,inputText,Toast.LENGTH_SHORT).show();                break;            case R.id.button_change_img:                imageView.setImageResource(R.drawable.img_2);                break;            case R.id.button_set_view://                if (progressBar.getVisibility() == View.GONE) {//                    progressBar.setVisibility(View.VISIBLE); // INVISIBLE//                } else {//                    progressBar.setVisibility(View.GONE);//                }                int progress = progressBar.getProgress();                progress = progress + 10;                progressBar.setProgress(progress);                break;        }    }

这样每次点击,都会增加进度。

AlertDialog

弹出对话框,置顶于所有界面元素之上。

AlertDialog.Builder dialog = new AlertDialog.Builder(HelloWorldActivity.this);                dialog.setTitle("这是Dialog");                dialog.setMessage("一些重要的事情");                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();

ProgressDialog

会在对话框中显示一个进度条,一般用于表示当前操作比较耗时,让用户耐心等待。

ProgressDialog progressDialog = new ProgressDialog(HelloWorldActivity.this);                progressDialog.setTitle("这是progressDialog");                progressDialog.setMessage("Loading...");                progressDialog.setCancelable(true);                progressDialog.show();

转载地址:http://wbvrl.baihongyu.com/

你可能感兴趣的文章
聊一聊RPC
查看>>
Redis 概念以及底层数据结构
查看>>
Docker容器中运行.Net Core应用程序
查看>>
通过mysql工具能连接上docker下的mysql,部署的工程连接就报错。
查看>>
兄dei,是时候给你的项目做一波优化了~
查看>>
数据库事务的方方面面
查看>>
Python爬虫实战之爬取链家广州房价_01简单的单页爬虫
查看>>
Chrome 性能监测
查看>>
LocalDateTime和Date互相转换
查看>>
基于Serverless架构最新应用场景详解
查看>>
[BTCC] 要“工程师”“工程师”“工程师”
查看>>
阻塞IO
查看>>
信用算力实现金融级数据服务的实践
查看>>
Xcode配置测试环境和线上环境
查看>>
三大主流软件负载均衡器对比(LVS 、 Nginx 、Haproxy)
查看>>
学习技能总结:
查看>>
高可用集群----理论
查看>>
backtrack两种开启ssh方式
查看>>
redis 目录
查看>>
C语言中const的用法
查看>>