Android常用控件及其属性
2016-05-11 18:04
591 查看
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的点击事件注册一个监听器
EditText
android:hint=""设置提示性文字
android:maxLines="2"可以指定EditText的最大行数为两行,这样当输入的内容超过两行时,文本就会向上滚动,而EditText则不会再继续拉伸
结合使用EditText和Button
ImageView
设置图片
ImageView的setImageResource()方法可以改变显示的图片
ProgressBar
ProgressBar用于在界面上显示一个进度条
Android控件的可见属性
所有的Android的控件都具有这个属性,可以通过android:visibility进行指定
可选值有三种,visible、invisible和gone
visible表示控件是可见的,这个值是默认值,不指定android:visibility时,控件都是可见的
invisible表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了
gone则表示控件不仅不可见,而且不再占用任何屏幕空间
我们也可以通过代码来设置控件的可见性
使用setVisibility()方法,可以传入View.VISIBLE、View.INVISIBLE和View.GONE三种值
另外,我们还可以给ProgressBar指定不同的样式
刚刚是圆形进度条,通过style属性可以将它指定成水平进度条
动态地更改进度条的进度
AlertDialog
AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽其他控件的交互能力
因此一般AlertDialog都是用于提示一些非常重要的内容或者警告信息
比如为了防止用户误删内容,在删除前弹出一个确认对话框
首先通过AlertDialog.Builder创建出一个AlertDialog的实例,然后可以为这个对话框设置标题、内容、可否取消等属性
接下来调用setPositiveButton()方法为对话框设置确定按钮的点击事件
调用setNegativeButton()方法设置取消按钮的点击事件
最后调用show()方法将对话框显示出来
ProgressDialog
ProgressDialog和AlertDialog有点类似,都可以在界面上弹出一个对话框,都能够屏蔽掉其他控件的交互能力
不同的是,ProgressDialog会在对话框中显示一个进度条,一般是用于表示当前操作比较耗时,让用户耐心地等待
注意如果在setCancelable()中传入了false,表示ProgressDialog是不能通过Back键取消掉的,这时一定要在代码中做好控制
当数据加载完成后必须要调用ProgressDialog的dismiss()方法来关闭对话框,否则ProgressDialog将会一直存在
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();
首先通过AlertDialog.Builder创建出一个AlertDialog的实例,然后可以为这个对话框设置标题、内容、可否取消等属性
接下来调用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工程下drawable文件夹的作用
- android学习17——命令行建gradle工程
- Android TextView使用HTML处理字体样式、显示图片等
- Android地图尝试之两行代码调用高德地图来完成位置展示
- Android 国际化
- Android native和h5混合开发几种常见的hybrid通信方式
- Android RecyclerView使用详解及实现多选
- Android当方法总数超过64K时(Android Studio)
- Android Studio 简单测试数据
- android 设置edittext最大值输入并且提示
- Android常用调试命令
- android inputtype属性
- android软键盘弹出关闭监听
- android string.xml中显示特殊符号
- android判断手机有没有安装微博
- 【Android测试】【随笔】Android Studio环境搭建
- Android程序优化之异常终止数据恢复
- Android 发送广播传送数据
- android代码混淆
- Android自动dump hprof文件的功能实现