常用控件以及用法

迷南。 2023-06-19 11:08 97阅读 0赞

阅读:Android UI 常用控件讲解:
https://blog.csdn.net/CodingEnding/article/details/79478626

这篇文章主要记录下Android的常用控件以及使用的方法,Android 给我们提供了大量的UI控件,合理地使用这些控件就可以非常轻松地编写出相当不错的界面,这些是Android学习的基础,没有什么业务逻辑,比较好入手。

这里主要涉及到的控件包括:
文本类控件
TextView 负责展示文本,非编辑
EditText 可编辑文本控件
按钮类控件
Button 按钮
ImageButton 图片按钮
RadioButton与RadioGroup 单选按钮
CheckBox 复选按钮
图片控件
ImageView 负责显示图片
进度条控件
ProgressBar 进度条

设置控件的属性有两种方法,一种是在布局文件中设置参数,另一种是在代码中调用对应方法实现,以下描述的都只是在布局文件中设置参数的方法。

介绍这些控件之前先介绍下所有控件都有的4个属性id、layout_width以及layout_height,以及android:visibility。

  1. android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx
  2. android:layout_width = "xxx"
  3. android:layout_height = "xxx"
  4. //下面这个属性默认可以省略
  5. android:visibility = "visible"
  6. 1
  7. 2
  8. 3
  9. 4
  10. 5

其中layout_width以及layout_height属性可选值有两种 match_parent和wrap_content(其实从Android 2.2开始fill_parent改名为match_parent ,从API Level为8开始我们可以直接用match_parent来代替fill_parent):
match_parent表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小;
wrap_content表示让当前控件的大小能够刚好包含住里面的内容,也就是由控件内容决定当前控件的大小。

android:visibility表示控件的可见属性,所有的Android控件都具有这个属性,可以通过 android:visibility 进行指定,可选值有三种,visible、invisible 和 gone。visible 表示控件是可见的,这个值是 默认值,不指定 android:visibility 时,控件都是可见的。invisible 表示控件不可见,但是它仍 然占据着原来的位置和大小,可以理解成控件变成透明状态了。gone 则表示控件不仅不可见, 而且不再占用任何屏幕空间。一般用在Activity中通过setVisibility方法来指定呈现与否。

1. 文本类控件TextView

TextView是 Android 程序开发中最常用的控件之一,主要功能是向用户展示文本的内容,它是不可编辑的 ,只能通过初始化设置或在程序中修改。

以下介绍一些常见的属性,更多属性可以参考TextView属性大全

  1. <TextView
  2. //控件id
  3. android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx
  4. //宽度与高度
  5. android:layout_width="wrap_content" //wrap_content或者match_parent
  6. android:layout_height="wrap_content" //wrap_content或者match_parent
  7. //文本文字
  8. android:text="@string/hello_world" //两种方式,直接具体文本或者引用values下面的string.xml里面的元素
  9. //字体大小
  10. android:textSize="24sp" //以sp为单位
  11. //字体颜色
  12. android:textColor="#0000FF" //RGB颜色
  13. //字体格式
  14. android:textStyle="normal" //normal,bold,italic分别为正常,加粗以及斜体,默认为normal
  15. //文本显示位置
  16. android:gravity="center" //来指定文字的对齐方式,可选值有 top、bottom、left、right、center 等
  17. //是否只在一行内显示全部内容
  18. android:singleLine="true" //true或者false,默认为false
  19. 1
  20. 2
  21. 3
  22. 4
  23. 5
  24. 6
  25. 7
  26. 8
  27. 9
  28. 10
  29. 11
  30. 12
  31. 13
  32. 14
  33. 15
  34. 16
  35. 17
  36. 18
  37. 19
  38. 20
  39. 21
  40. 22
  41. 23
  42. 24
  43. 25
  44. 26

一般不对TextView文本进行修改,所以在Activity中的使用此处略。

2. 文本类控件EditText

相比TextView, EditText是可以编辑的,可以用来与用户进行交互,其用法和TextView也是类似的,同样,下面介绍一些常见的参数,更多参数可以参考EditText属性大全

  1. //控件id
  2. android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx
  3. //宽度与高度
  4. android:layout_width="wrap_content" //wrap_content或者match_parent
  5. android:layout_height="wrap_content" //wrap_content或者match_parent
  6. //文本文字
  7. android:text="@string/hello_world" //两种方式,直接具体文本或者引用values下面的string.xml里面的元素
  8. //文本提示内容
  9. android:hint="hello_world" //android:text和android:hint区别是后者只是提示作用,真正需要输入的时候提示的内容会消失
  10. //字体大小
  11. android:textSize="24sp" //以sp为单位
  12. //字体颜色
  13. android:textColor="#0000FF" //RGB颜色
  14. //字体格式
  15. android:textStyle="normal" //normal,bold,italic分别为正常,加粗以及斜体,默认为normal
  16. //文本显示位置
  17. android:gravity="center" //来指定文字的对齐方式,可选值有 top、bottom、left、right、center 等
  18. //是否只在一行内显示全部内容
  19. android:singleLine="true" //true或者false,默认为false
  20. //输入内容设置为password类型
  21. android:password="true" //输入的内容会变成······
  22. //输入内容设置为phoneNumber类型
  23. android:phoneNumber="true" //只能输入数字
  24. //设定光标为显示/隐藏
  25. android:cursorVisible = "false" //true或者false,默认为true显示
  26. 1
  27. 2
  28. 3
  29. 4
  30. 5
  31. 6
  32. 7
  33. 8
  34. 9
  35. 10
  36. 11
  37. 12
  38. 13
  39. 14
  40. 15
  41. 16
  42. 17
  43. 18
  44. 19
  45. 20
  46. 21
  47. 22
  48. 23
  49. 24
  50. 25
  51. 26
  52. 27
  53. 28
  54. 29
  55. 30
  56. 31
  57. 32
  58. 33
  59. 34
  60. 35
  61. 36

在Activity中简单用法:

  1. public class MainActivity extends Activity {
  2. //声明一个EditText
  3. private EditText edittext;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. //给当前的活动加载一个布局
  8. setContentView(R.layout.activity_main);
  9. //初始化edittext
  10. edittext=(EditText) findViewById(R.id.edit_text);
  11. }
  12. ...
  13. ...
  14. //在方法中调用给edittext赋值
  15. edittext.setText("success");
  16. ...
  17. ...
  18. }
  19. 1
  20. 2
  21. 3
  22. 4
  23. 5
  24. 6
  25. 7
  26. 8
  27. 9
  28. 10
  29. 11
  30. 12
  31. 13
  32. 14
  33. 15
  34. 16
  35. 17
  36. 18
  37. 19

3.按钮类控件Button

Button控件也是使用过程中用的最多的控件之一,所以需要好好掌握。用户可以通过单击 Button 来触发一系列事件,然后为 Button 注册监听器,来实现 Button 的监听事件。

首先来看下Button的配置属性,其实和TextView差不多设置更简单点,主要是显示到Button上面的文字提示:

  1. <Button
  2. //控件id
  3. android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx
  4. //宽度与高度
  5. android:layout_width="wrap_content" //wrap_content或者match_parent
  6. android:layout_height="wrap_content" //wrap_content或者match_parent
  7. //按钮上显示的文字
  8. android:text="theButton" //两种方式,直接具体文本或者引用values下面的string.xml里面的元素@string/button
  9. //按钮字体大小
  10. android:textSize="24sp" //以sp为单位
  11. //字体颜色
  12. android:textColor="#0000FF" //RGB颜色
  13. //字体格式
  14. android:textStyle="normal" //normal,bold,italic分别为正常,加粗以及斜体,默认为normal
  15. //是否只在一行内显示全部内容
  16. android:singleLine="true" //true或者false,默认为false
  17. 1
  18. 2
  19. 3
  20. 4
  21. 5
  22. 6
  23. 7
  24. 8
  25. 9
  26. 10
  27. 11
  28. 12
  29. 13
  30. 14
  31. 15
  32. 16
  33. 17
  34. 18
  35. 19
  36. 20
  37. 21
  38. 22
  39. 23

然后我们需要在Activity中为Button的点击事件注册一个监听器,以下介绍两种方式来实现按钮监听事件,更多方法可以参考下Android的按钮单击事件及监听器的实现方式
1.通过匿名内部类作为事件监听器类,这种方法适用于事件监听器只是临时使用一次,因为大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),这是一种使用最广泛的方法:

  1. public class MainActivity extends Activity {
  2. private EditText edittext;
  3. private Button button;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. edittext=(EditText) findViewById(R.id.edit_text);
  9. button = (Button) findViewById(R.id.button);
  10. //为button按钮注册监听器,并通过匿名内部类实现
  11. button.setOnClickListener(new OnClickListener() {
  12. @Override
  13. public void onClick(View v) {
  14. //点击Button会改变edittext的文字为"点击了Button"
  15. edittext.setText("点击了Button");
  16. }
  17. });
  18. }
  19. }
  20. 1
  21. 2
  22. 3
  23. 4
  24. 5
  25. 6
  26. 7
  27. 8
  28. 9
  29. 10
  30. 11
  31. 12
  32. 13
  33. 14
  34. 15
  35. 16
  36. 17
  37. 18
  38. 19

2.使用实现接口的方式来进行注册,让Activity类实现了OnClickListener事件监听接口,从而可以在该Activity类中直接定义事件处理器方法:onClick(view v),当为某个组件添加该事件监听器对象时,直接使用this作为事件监听器对象即可:

  1. public class MainActivity extends Activity implements OnClickListener {
  2. private EditText edittext;
  3. private Button button;
  4. private Button button2;
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.activity_main);
  9. edittext=(EditText) findViewById(R.id.edit_text);
  10. button = (Button) findViewById(R.id.button);
  11. button2 = (Button) findViewById(R.id.button2);
  12. button.setOnClickListener(this);
  13. button2.setOnClickListener(this);
  14. }
  15. @Override
  16. //用switch区分是哪个id
  17. public void onClick(View v) {
  18. switch (v.getId()){
  19. case R.id.button:
  20. edittext.setText("点击了Button");
  21. break;
  22. case R.id.button2:
  23. edittext.setText("点击了Button2");
  24. break;
  25. }
  26. }
  27. }
  28. 1
  29. 2
  30. 3
  31. 4
  32. 5
  33. 6
  34. 7
  35. 8
  36. 9
  37. 10
  38. 11
  39. 12
  40. 13
  41. 14
  42. 15
  43. 16
  44. 17
  45. 18
  46. 19
  47. 20
  48. 21
  49. 22
  50. 23
  51. 24
  52. 25
  53. 26
  54. 27
  55. 28
  56. 29

4.按钮类控件ImageButton

ImageButton和Button类似,是一个按钮,ImageButton可以实现我们任何想要的图片按钮的效果,比如我们租一个下载的按钮等等。它要比button实现的要好看,并且体验要好很多, 不过它是以图片作为背景,没有文字。利用属性android:src="图片位置"来设置图片背景。

下面还是先给出一些常见的属性:

  1. <ImageButton
  2. //控件id
  3. android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx
  4. //宽度与高度
  5. android:layout_width="wrap_content" //wrap_content或者match_parent
  6. android:layout_height="wrap_content" //wrap_content或者match_parent
  7. //此外,可以具体设置高度和宽度显示的像素,不过这样设置如果图片尺寸大于设置的显示的尺寸,则图片是显示不全的,这是可以配合android:scaleType属性。
  8. android:layout_width="200dp"
  9. android:layout_height="200dp"
  10. //把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageButton.
  11. android:scaleType="fitXY"
  12. //其他的关于android:scaleType的参数解释,也可以参考下面的直观图
  13. //android:scaleType="center" 在视图中心显示图片,并且不缩放图片
  14. //android:scaleType="centercrop" 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度
  15. //android:scaleType="centerinside" 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度
  16. //android:scaleType="fitcenter" 按比例缩放图片到视图的最小边,居中显示
  17. //android:scaleType="fitend" 按比例缩放图片到视图的最小边,显示在视图的下部分位置
  18. //android:scaleType="fitstart" 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置
  19. //android:scaleType="matrix" 用矩阵来绘制
  20. //图片来源,需要将图片复制放到res/drawable文件夹里面,引用的时候不需要写图片的后缀
  21. android:src ="@drawable/beautiful">
  22. 1
  23. 2
  24. 3
  25. 4
  26. 5
  27. 6
  28. 7
  29. 8
  30. 9
  31. 10
  32. 11
  33. 12
  34. 13
  35. 14
  36. 15
  37. 16
  38. 17
  39. 18
  40. 19
  41. 20
  42. 21
  43. 22
  44. 23
  45. 24
  46. 25
  47. 26
  48. 27

附上android:scaleType不同参数对应效果图:
这里写图片描述

ImageButton的用法在Button在Activity中的用法基本一致,可以参考上面关于Button的用法,此处略。

5.按钮类控件RadioButton与RadioGroup

RadioButton(单选按钮)在 Android 平台上也比较常用,比如一些选择项会用到单选按钮。它是一种单个圆形单选框双状态的按钮,可以选择或不选择。在 RadioButton 没有 被选中时,用户通过单击来选中它。但是,在选中后,无法通过单击取消选中。

RadioGroup 是单选组合框,用于 将 RadioButton 框起来。在多个 RadioButton被 RadioGroup 包含的情况下,同一时刻只可以选择一个 RadioButton,并用 setOnCheckedChangeListener 来对 RadioGroup 进行监听。

下面介绍RadioGroup的常用的属性,因为其中包含有RadioButton:

  1. <RadioGroup
  2. android:id="@+id/radio_group"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. //设置RadioButton的排列方式,分为水平排列horizontal与垂直排列vertical
  6. android:orientation="horizontal" >
  7. <RadioButton
  8. android:id="@+id/rd1"
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. //设置单选后紧跟的文本提示文字
  12. android:text="北京"
  13. //设置文字的大小
  14. android:textSize="30sp"
  15. //设置文字的颜色
  16. android:textColor="#0000FF"
  17. //字体格式
  18. android:textStyle="normal" //normal,bold,italic分别为正常,加粗以及斜体,默认为normal
  19. />
  20. <RadioButton
  21. android:id="@+id/rd2"
  22. android:layout_width="wrap_content"
  23. android:layout_height="wrap_content"
  24. android:textSize="30sp"
  25. android:text="上海" />
  26. </RadioGroup>
  27. 1
  28. 2
  29. 3
  30. 4
  31. 5
  32. 6
  33. 7
  34. 8
  35. 9
  36. 10
  37. 11
  38. 12
  39. 13
  40. 14
  41. 15
  42. 16
  43. 17
  44. 18
  45. 19
  46. 20
  47. 21
  48. 22
  49. 23
  50. 24
  51. 25
  52. 26

下面给出在Activity中用 setOnCheckedChangeListener 来对 RadioGroup 进行监听的代码, 注意RadioGroup中的RadioButton也都是需要声明和通过控件的id来得到代表控件的对象。

  1. public class MainActivity extends Activity{
  2. 对控件对象进行声明
  3. private TextView textView;
  4. private RadioGroup radiogroup;
  5. private RadioButton radiobutton1;
  6. private RadioButton radiobutton2;
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);
  11. //通过控件的ID来得到代表控件的对象
  12. textView = (TextView) findViewById(R.id.text_view);
  13. radiogroup = (RadioGroup) findViewById(R.id.radio_group);
  14. radiobutton1 = (RadioButton) findViewById(R.id.rd1);
  15. radiobutton2 = (RadioButton) findViewById(R.id.rd2);
  16. //调用setOnCheckedChangeListener来对RadioGroup进行监听的代码
  17. radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
  18. @Override
  19. public void onCheckedChanged(RadioGroup group, int checkedId) {
  20. if(checkedId == radiobutton1.getId()){
  21. textView.setText("北京");
  22. }else if(checkedId == radiobutton2.getId()){
  23. textView.setText("上海");
  24. }
  25. }
  26. });
  27. }
  28. }
  29. 1
  30. 2
  31. 3
  32. 4
  33. 5
  34. 6
  35. 7
  36. 8
  37. 9
  38. 10
  39. 11
  40. 12
  41. 13
  42. 14
  43. 15
  44. 16
  45. 17
  46. 18
  47. 19
  48. 20
  49. 21
  50. 22
  51. 23
  52. 24
  53. 25
  54. 26
  55. 27
  56. 28
  57. 29
  58. 30
  59. 31

6.按钮类控件CheckBox

CheckBox(复选按钮),顾名思义是一种可以进行多选的按钮,默认以矩形表示。与 RadioButton 相同,它也有选中或者不选中双状态。我们可以先在布局文件中定义多选按钮, 然后对每一个多选按钮进行事件监听 setOnCheckedChangeListener,通过 isChecked 来判断 选项是否被选中,做出相应的事件响应。

下面给出CheckBox在布局文件中的常用的属性以及用法:

  1. <CheckBox
  2. android:id="@+id/cb1"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. //设置复选按钮后紧跟的文本提示文字
  6. android:text="北京"
  7. //设置文字的大小
  8. android:textSize="30sp"
  9. //设置文字的颜色
  10. android:textColor="#0000FF"
  11. //字体格式
  12. android:textStyle="normal" //normal,bold,italic分别为正常,加粗以及斜体,默认为normal/>
  13. <CheckBox
  14. android:id="@+id/cb2"
  15. android:layout_width="match_parent"
  16. android:layout_height="wrap_content"
  17. android:text="上海"
  18. android:textSize="30sp"
  19. android:textColor="#0000FF"/>
  20. 1
  21. 2
  22. 3
  23. 4
  24. 5
  25. 6
  26. 7
  27. 8
  28. 9
  29. 10
  30. 11
  31. 12
  32. 13
  33. 14
  34. 15
  35. 16
  36. 17
  37. 18
  38. 19

在Activity中调用的代码如下:

  1. public class MainActivity extends Activity{
  2. 对控件对象进行声明
  3. private TextView textView;
  4. private CheckBox checkbox1;
  5. private CheckBox checkbox2;
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_main);
  10. //通过控件的ID来得到代表控件的对象
  11. textView = (TextView) findViewById(R.id.text_view);
  12. checkbox1 = (CheckBox) findViewById(R.id.cb1);
  13. checkbox2 = (CheckBox) findViewById(R.id.cb2);
  14. //为第一个 CheckBox 注册监听
  15. checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener(){
  16. @Override
  17. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  18. //如果第一个 CheckBox 被选中
  19. if(isChecked == true){
  20. textView.setText("CheckBox选中北京");
  21. }
  22. }
  23. });
  24. //为第二个 CheckBox 注册监听
  25. checkbox2.setOnCheckedChangeListener(new OnCheckedChangeListener(){
  26. @Override
  27. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  28. //如果第二个 CheckBox 被选中
  29. if(isChecked == true){
  30. textView.setText("CheckBox选中上海");
  31. }
  32. }
  33. });
  34. }
  35. }
  36. 1
  37. 2
  38. 3
  39. 4
  40. 5
  41. 6
  42. 7
  43. 8
  44. 9
  45. 10
  46. 11
  47. 12
  48. 13
  49. 14
  50. 15
  51. 16
  52. 17
  53. 18
  54. 19
  55. 20
  56. 21
  57. 22
  58. 23
  59. 24
  60. 25
  61. 26
  62. 27
  63. 28
  64. 29
  65. 30
  66. 31
  67. 32
  68. 33
  69. 34
  70. 35
  71. 36
  72. 37
  73. 38
  74. 39

7.图片控件ImageView

ImageView 是一个图片控件,负责显示图片,图片的来源可以是系统提供的资源文件,也可以是 Drawable 对象,相对来说,图片空间还是比较好掌握的,因为前面有讲过ImageButton, 很多属性都是相同的。
下面直接给出在布局中的属性:

  1. <ImageView
  2. //控件id
  3. android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx
  4. //宽度与高度
  5. android:layout_width="wrap_content" //wrap_content或者match_parent
  6. android:layout_height="wrap_content" //wrap_content或者match_parent
  7. //此外,可以具体设置高度和宽度显示的像素,不过这样设置如果图片尺寸大于设置的显示的尺寸,则图片是显示不全的,这是可以配合android:scaleType属性。
  8. android:layout_width="200dp"
  9. android:layout_height="200dp"
  10. //把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageButton.
  11. android:scaleType="fitXY"
  12. //其他的关于android:scaleType的参数解释,也可以参考下面的直观图
  13. //android:scaleType="center" 在视图中心显示图片,并且不缩放图片
  14. //android:scaleType="centercrop" 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度
  15. //android:scaleType="centerinside" 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度
  16. //android:scaleType="fitcenter" 按比例缩放图片到视图的最小边,居中显示
  17. //android:scaleType="fitend" 按比例缩放图片到视图的最小边,显示在视图的下部分位置
  18. //android:scaleType="fitstart" 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置
  19. //android:scaleType="matrix" 用矩阵来绘制
  20. //图片来源,需要将图片复制放到res/drawable文件夹里面,引用的时候不需要写图片的后缀
  21. android:src ="@drawable/beautiful">
  22. 1
  23. 2
  24. 3
  25. 4
  26. 5
  27. 6
  28. 7
  29. 8
  30. 9
  31. 10
  32. 11
  33. 12
  34. 13
  35. 14
  36. 15
  37. 16
  38. 17
  39. 18
  40. 19
  41. 20
  42. 21
  43. 22
  44. 23
  45. 24
  46. 25
  47. 26

在Activity中因为不需要设置监听,较简单,用法略。

8.进度条控件ProgressBar

ProgressBar 用于在界面上显示一个进度条,表示我们的程序正在加载一些数据,运行程序,会看到屏幕中有一个圆形进度条正在旋转。
在布局xml文件中的用法非常简单:

  1. <ProgressBar
  2. android:id="@+id/pb"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. //默认是圆形进度条,可以知道样式设置为水平进度条
  6. style="?android:attr/progressBarStyleHorizontal"/>
  7. //指定成水平进度条后,我们还可以通过 android:max属性给进度条设置一个最大值,然后在代码中动态地更改进度条的进度
  8. android:max="100"
  9. 1
  10. 2
  11. 3
  12. 4
  13. 5
  14. 6
  15. 7
  16. 8

那么如何才能让进度条在数据加载完成时消失呢,这里我们就需要用一开始所讲的Android 控件的可见属性。
可以通过代码来设置控件的可见性,使用的是 setVisibility()方法,可以传入 View.VISIBLE、View.INVISIBLE 和 View.GONE 三种值。

下面实现点击一下按钮让进度条消失,再点击一下按钮让进度条出现的这种效果,这里只给出按钮监听的代码:

  1. button.setOnClickListener(new OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. //通过 getVisibility()方法来判断 ProgressBar 是否可见
  5. if (progressBar.getVisibility() == View.GONE) {
  6. progressBar.setVisibility(View.VISIBLE);
  7. } else {
  8. progressBar.setVisibility(View.GONE);
  9. }
  10. }
  11. });
  12. 1
  13. 2
  14. 3
  15. 4
  16. 5
  17. 6
  18. 7
  19. 8
  20. 9
  21. 10
  22. 11

至此,关于Android的常用控件都已经讲了一遍,此处再对将关于TextView中文字单独在一行显示的时候实现跑马灯的方法补充下,这里直接给出代码,也可以参考下这篇blog下android:ellipsize实现跑马灯效果总结

  1. <TextView
  2. android:id="@+id/tv"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:layout_weight="1"
  6. android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView"
  7. //主要是以下5个
  8. android:ellipsize="marquee"
  9. android:marqueeRepeatLimit="marquee_forever"
  10. android:focusable="true"
  11. android:focusableInTouchMode ="true"
  12. android:singleLine="true" />
  13. 1
  14. 2
  15. 3
  16. 4
  17. 5
  18. 6
  19. 7
  20. 8
  21. 9
  22. 10
  23. 11
  24. 12

发表评论

表情:
评论列表 (有 0 条评论,97人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MSHFLEXGRID属性

               在做机房收费系统的过程中,多次用到了MSHFLEXGRID这个控件,它可以把记录集中的记录显示在表格中,方便用户和我们对数据库就行增、删、改、查,下面我介