Android学习笔记(八)
android中常见空间的使用方法
1.TextView
TextView主要用于在界面上显示一段文本信息,如下面代码所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:textSize="24sp"android:textColor="#00ff00"android:text="This is TextView" /></LinearLayout>
其中,在TextView标签中:
android:id 给当前控件定义了一个唯一标识符;
android:layout_width 指定了控件的宽度,其中match_parent表示当前控件的大小和父布局的大小一样;
android:layout_height 指定了控件的高度,wrap_content表示让当前控件的大小能够刚好包含里面的内容;
android:text 指定了TextView中显示的内容。
android:gravity 来指定文字的对齐方式,可以用“|”来同时指定多个值;
android:textSize 指定TextView中文字的大小;
android:textColor 指定TextView中文字的颜色。
除了上述这些,TextView中还有很多其他的属性。
2.Button
Button是程序用于和用户进行交互的一个重要控件。例如下面的代码定义了一个Button按钮:
<Button android:id="@+id/button"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" />
加入Button按钮后,就可以在MainActivity中为Button的点击事件注册一个监听器,代码如下所示:
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button = (Button) findViewById(R.id.button);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {}}); } }
注册监听器后,就会执行监听器中的onClick()方法,只需要在这个方法中加入待处理的逻辑就行了。
上面代码给按钮加入监听器中方法是使用匿名类,也可以使用实现接口的方式来注册,代码如下所示:
public class MainActivity extends Activity implements OnClickListener {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button = (Button) findViewById(R.id.button);button.setOnclickListener(this);}public void onClick(View v) { switch (v.getId()) { case R.id.button: //在此处添加逻辑 break; default: break;}} }
上述的代码也可以实现对按钮点击事件的监听。
3.EditText
EditText是程序用于和用户进行交互的一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。
在界面中放置一个EditText控件的代码如下所示:
<EditText android:id="@+id/edit_text"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="Type something here"android:maxLines="2" />
Android控件的使用基本上用法类似,给控件定义一个id,在指定控件的宽度和高度,然后在加入控件的其它属性就可以了。如:
android:hint 属性是在输入框中显示一些提示性的文字,然后用户输入内容后,这些提示文字就会消失。
android:maxLines 属性是指定EditText的最大行数为两行,这样当输入的内容超过两行时,文本就会向上滚动。
可以结合EditText和Button来完成一些功能,比如通过点击按钮来获取EditText中输入的内容,代码如下所示:
public class MainActivity extends Activity {private EditText editText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);editText = (EditText) findViewById(R.id.edit_text);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String inputText = editText.getText().toString();Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();}});} }
上面的代码中首先通过findViewById()方法得到EditText的实例,然后在按钮的点击事件里调用EditText的getText()方法
获取到输入的内容,再调用toString()方法转换成字符串,最后使用Toast方法将内容显示出来。
4.ImageView
ImageView是用于在界面上展示图片的一个控件。如下面的代码可以展示drawable文件夹下的ic_launcher.png图片:
<ImageView android:id="@+id/image_view"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_launcher" />
在程序中还可以通过代码动态地更改ImageView中的图片,代码如下所示:
public class MainActivity extends Activity {private ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView = (ImageView) findViewById(R.id.image_view);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//在Button监听器中,调用ImageView的setImageResource()方法修改显示的图片。 imageView.setImageResource(R.drawable.icon);}});} }
上面的代码中,在按钮的点击事件里通过调用ImageView的setImageResource()方法将显示的图片该成icon。
5.ProgressBar
ProgressBar用于在界面上显示一个进度条,表示我们程序正在加载一些数据,ProgressBar的用法如下面的代码所示:
<ProgressBarandroid:id="@+id/progress_bar" android:layout_width="match_parent"android:layout_height="wrap_content"style="?android:attr/progressBarStyleHorizontal"android:max="100" />"
上面的代码可以在界面上显示进度条,其中style指定了进度条是水平样式的,如果不加style默认是圆形的。
当数据加载完成后,如何使进度条消失呢?这就要用到android控件的可见属性,所有的android控件都有这个属性。
可以通过android:visibility进行指定,可选三种值:
visible表示控件可见性,这个值是默认值;
invisible表示控件不可见性,但它仍然占据着原来的位置和大小;
gone则表示控件不可见性,而且不再占用任何屏幕。
空间的可见性还可以在代码中设置,使用setVisibility()方法,可以传入View.VISIBLE、ViewINVISIBLE和View.GONE。
下面的代码用来设置进度条的可见性:
public class MainActivity extends Activity {private ProgressBar progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);progressBar = (ProgressBar) findViewById(R.id.progress_bar);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//设置进度条的可见性if (progressBar.getVisibility() == View.GONE){progressBar.setVisibility(View.VISIBLE);}else {progressBar.setVisibility(View.GONE);}int progress = progressBar.getProgress();progress = progress + 10;progressBar.setProgress(progress);}});} }
上面的代码中通过getVisibility()方法来判断ProgressBar是否可见,如果可见就将ProgressBar隐藏掉;
如果不可见就将ProgressBar显示出来。
6.AlertDialog
AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够
屏蔽掉其他控件的交互能力,因此AlertDialog一般用于提示一些非常重要的内容或者警告信息。
AlertDialog用法如下面的代码所示:
/*** AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有* 界面元素之上的,能够屏蔽掉其他控件的交互能力。*/ //首先通过AlertDialog.Builder创建出一个AlertDialog的实例。AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);//设置标题dialog.setTitle("This is Dialog");//设置内容dialog.setMessage("Something important");//设置是否可以取消dialog.setCancelable(false);//调用setPositiveButton()方法为对话框设置确定按钮的点击事件dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});//调用setNegativeButton()方法为对话框设置取消按钮的点击事件dialog.setNegativeButton("Cancle", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});//调用show()方法将对话框显示出来 dialog.show();
7.ProgressDialog
ProgressDialog和AlertDialog类似,都可以在界面上弹出一个对话框,屏蔽掉其他控件的交互能力;
不同的是,ProgressDialog会在对话框中显示一个进度条,一般表示比较耗时,让用户耐心等待。
ProgressDialog的用法如下面的代码所示:
/*** ProgressDialog和AlertDialog类似,都是在界面中显示一个对话框。* 不同的是,ProgressDialog会在对话框中显示一个进度条,一般表示:* 当前的操作比较耗时,让用户耐心等待。*///首先构建出一个ProgressDialog对象。ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);//设置对话框的标题progressDialog.setTitle("This is ProgressDialog");//设置内容消息progressDialog.setMessage("Loading...");//设置可否取消,如果在setCancelable()中传入了false,表示ProgressDialog不能通过Back键取消,//当数据加载完成后必须要调用ProgressDialog的dismiss()方法来关闭对话框。progressDialog.setCancelable(true);//调用show()方法将对话框显示出来progressDialog.show();
注意:上面的代码中在setCancelable()中传入了true,表示ProgressDialog可以通过Back键取消的;
如果传入了false,表示ProgressDialog不能通过Back取消,当数据加载完成后必须要调用
ProgressDialog的dismiss()方法来关闭对话框,否则ProgressDialog将会一直存在。
转载于:https://www.cnblogs.com/mffeng/p/4515775.html
Android学习笔记(八)相关推荐
- Android学习笔记之在图片特效
1.涂鸦(能清屏) HandWritingActivity.java [java] view plaincopy package xiaosi.handWriting; import android. ...
- 黑马程序员_java自学学习笔记(八)----网络编程
黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...
- Android学习笔记21:ImageView获取网络图片
Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...
- Android学习笔记(七):多个Activity和Intent
根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...
- Android学习笔记26:图片切换控件ImageSwitcher的使用
在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- ReactJS学习笔记八:动画
ReactJS学习笔记八:动画 分类: react学习笔记 javascript2015-07-06 20:27 321人阅读 评论(0) 收藏 举报 react动画 目录(?)[+] 这里只讨论Re ...
- Pro Android学习笔记(二九):用户界面和控制(17):include和merge
xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...
- Android学习笔记:TabHost 和 FragmentTabHost
2019独角兽企业重金招聘Python工程师标准>>> Android学习笔记:TabHost 和 FragmentTabHostTabHost命名空间:android.widget ...
- 【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge
目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的 ...
最新文章
- XP新建管理员账户后administrator消失或者不能登录的解决方法!
- 如何给你的为知笔记添加一个漂亮的导航目录
- 嫌微软要价“太狠” 东莞网吧巨头拒绝付费
- 【Ubuntu】 Ubuntu16.04快速搭建环境
- PHP获取IP地址的方法,防止伪造IP地址注入攻击
- JDK和CGLIB动态代理区别
- 中国剧本推理市场洞察2021
- java 上传图片后没法立马显示出来_SpringMVC多个文件上传及上传后立即显示图片功能...
- Netty工作笔记0029---NIO 网络编程应用--群聊系统4--客户端编写2
- Android中的PopUpWindow
- 一、SecureCRT 8.0 客户端连接服务器
- 关系型数据库中主键(primary key)和外键(foreign key)的概念。
- 利用PyCharm进行Python远程调试
- 201约花鸟画 考c语言试题,全国计算机二级C语言上机100题..doc
- 线程锁并不是想象的那样可靠
- ARM 内核寄存器 和 基本汇编语言讲解
- 行政区划代码(道路要素)
- 计算机二级只有上机考试吗,计算机等级考试二级是上机考试吗
- cadence中测输出功率方法
- keystore导出p12,cer,crt,.key.pem证书文件格式