Android常用控件
来源:互联网 发布:虚拟机ubuntu使用教程 编辑:程序博客网 时间:2024/06/05 14:51
match_parent表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小
wrap_content表示让当前控件的大小能够刚好包含住里面的内容也就是由控件内容决定当前控件的大小
TextView
TextView中的文字默认是居左上角对齐的
Android:gravity可以指定文字的对齐方式,可选值有top、bottom、left、right、center等
可以用“|”来同时指定多个值
“center”效果等同于“center_vertical|center_horizontal,表示文字在垂直和水平方向都居中对齐
android:textSize属性可以指定文字的大小 android:textColor属性可以指定文字的颜色 指定文字大小一般用sp
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 View.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;
- }
- }
- }
EditText
android:hint=""设置提示性文字
android:maxLines="2"可以指定EditText的最大行数为两行,这样当输入的内容超过两行时,文本就会向上滚动,而EditText则不会再继续拉伸
结合使用EditText和Button
- 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.et);
- button.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.button:
- String inputText = editText.getText().toString();
- Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();
- break;
- default:
- break;
- }
- }
- }
ImageView
- android:src="@drawable/ic_launcher"
设置图片
ImageView的setImageResource()方法可以改变显示的图片
- public class MainActivity extends Activity implements OnClickListener {
- private Button button;
- private EditText editText;
- private ImageView imageView;
- @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.et);
- imageView = (ImageView) findViewById(R.id.iv);
- button.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.button:
- imageView.setImageResource(R.drawable.logo);
- // String inputText = editText.getText().toString();
- // Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();
- break;
- default:
- break;
- }
- }
- }
ProgressBar
ProgressBar用于在界面上显示一个进度条
Android控件的可见属性
所有的Android的控件都具有这个属性,可以通过android:visibility进行指定
可选值有三种,visible、invisible和gone
visible表示控件是可见的,这个值是默认值,不指定android:visibility时,控件都是可见的
invisible表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了
gone则表示控件不仅不可见,而且不再占用任何屏幕空间
我们也可以通过代码来设置控件的可见性
使用setVisibility()方法,可以传入View.VISIBLE、View.INVISIBLE和View.GONE三种值
- public class MainActivity extends Activity implements OnClickListener {
- private Button button;
- private EditText editText;
- private ImageView imageView;
- private ProgressBar progressBar;
- @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.et);
- imageView = (ImageView) findViewById(R.id.iv);
- progressBar = (ProgressBar) findViewById(R.id.progressBar);
- button.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.button:
- if (progressBar.getVisibility() == View.GONE) {
- progressBar.setVisibility(View.VISIBLE);
- } else {
- progressBar.setVisibility(View.GONE);
- }
- // imageView.setImageResource(R.drawable.logo);
- // String inputText = editText.getText().toString();
- // Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();
- break;
- default:
- break;
- }
- }
- }
另外,我们还可以给ProgressBar指定不同的样式
刚刚是圆形进度条,通过style属性可以将它指定成水平进度条
- style="?android:attr/progressBarStyleHorizontal"
- android:max="100"
动态地更改进度条的进度
- int progress = progressBar.getProgress();
- progress = progress + 10;
- progressBar.setProgress(progress);
AlertDialog
AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽其他控件的交互能力
因此一般AlertDialog都是用于提示一些非常重要的内容或者警告信息
比如为了防止用户误删内容,在删除前弹出一个确认对话框
- AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
- dialog.setTitle("This is 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();
接下来调用setPositiveButton()方法为对话框设置确定按钮的点击事件
调用setNegativeButton()方法设置取消按钮的点击事件
最后调用show()方法将对话框显示出来
ProgressDialog
ProgressDialog和AlertDialog有点类似,都可以在界面上弹出一个对话框,都能够屏蔽掉其他控件的交互能力
不同的是,ProgressDialog会在对话框中显示一个进度条,一般是用于表示当前操作比较耗时,让用户耐心地等待
- ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
- progressDialog.setTitle("This is ProgressDialog");
- progressDialog.setMessage("Loading...");
- progressDialog.setCancelable(true);
- progressDialog.show();
注意如果在setCancelable()中传入了false,表示ProgressDialog是不能通过Back键取消掉的,这时一定要在代码中做好控制
当数据加载完成后必须要调用ProgressDialog的dismiss()方法来关闭对话框,否则ProgressDialog将会一直存在
- android控件与常用控件
- android 常用控件 时钟控件
- android控件与常用控件
- Android 常用控件讲解 --控件
- Android常用控件
- Android常用控件-spinner
- Android常用控件-AutoCompleteTextView
- android常用控件(转)
- android 的常用控件
- Android常用控件总结
- Android常用控件总结
- Android控件常用属性
- Android常用控件总结
- Android常用控件总结
- Android控件常用属性
- Android常用控件总结
- android常用控件属性
- android 常用控件
- redux学习
- CodeFroces 814B An express train to reveries(构造题)
- MYSQL的事务详解
- 彻底理解android中的内部存储与外部存储
- py模块初识1
- Android常用控件
- Android 数据存储三种方式
- -webkit-appearance:none;
- Codeforces 814 A An abandoned sentiment from past
- 微生物群落功能预测工具
- kafka消息发送和消息接受
- 机器学习的学习方式
- 一起加油----java开发之路
- JavaIo流,文件文件夹拷贝工具类