用过很多控件,但是具体细节上还是很缺乏。今天看到书里面提到的东西还蛮详细的,所以就记录下来。

1.TestView(疯狂android讲义 61页)

①android:autoLink  setAutoLinkMask(int) 是否将符合指定格式的文本转换为可单击的超链接形式

none 不设置任何超链接

web  对应于Linkify.WEB_URLS

email对应于Linkify.EMAIL_ADDRESSES

phone对应于Linkify.PHONE_NUMBERS

map  对应于Linkify.MAP_ADDRESSES

all  相当于指定web|email|phone|map

②android:hint setHint(int) 设置当该文本框内容为空时,文本框内默认显示的提示文本

③android:singleLine setTransformationMethod 设置该文本框是否为单行模式,如果设为true,文本框不会换行。

④android:ellipsize 设置当显示的文本超过了TextView的长度时如何处理文本内容。

none 不进行任何处理

start在文本开头部分进行省略

middle在文本中间部分进行省略

end   在文本结尾处进行省略

marquee在文本结尾处以淡出的方式进行省略

2.ImageView(89页)

①android:scaleType setScaleType(ImageView.ScaleType) 设置所显示的图片如何缩放或移动以适应ImageView的大小

可指定如下属性:

matrix(ImageView.ScaleType.MATRIX)以matrix方式缩放。

fitXY (ImageView.ScaleType.FIT_XY)对图片横向、纵向独立缩放,使得该图片完全适应于该ImageView,图片的纵横比可能会改变。

fitSatrt(ImageView.ScaleType.FIT_START)保持纵横比缩放,直到该图片能完全显示在ImageView中(图片较长的边长与ImageView相对应的边长相等)。缩放完成后将该图片放在ImageView的左上角。

fitCenter(ImageView.ScaleType.FIT_CENTER)保持纵横比缩放,直到该图片能完全显示在ImageView中(图片较长的边长与ImageView相对应的边长相等)。缩放完成后将该图片放在ImageView的中央。

fitEnd(ImageView.ScaleType.FIT_END)保持纵横比缩放,直到该图片能完全显示在ImageView中(图片较长的边长与ImageView相对应的边长相等)。缩放完成后将该图片放在ImageView的右下角。

center(ImageView.ScaleType.CENTER)把图片放在ImageView的中间,但不进行任何缩放。

centerCrop(ImageView.ScaleType.CENTER_CROP)保持纵横比缩放图片,以使得图片能完全覆盖ImageView。

centerInside(ImageView.ScaleType.CENTER_INSIDE)保持纵横比缩放图片,以使得ImageView能完全显示该图片。

3.ProgressBar

①Android支持几种风格的进度条,通过style属性可以为ProgressBar指定风格。该属性可以支持如下几个属性值:

@android:style/Widget.ProgressBar.Horizontal:水平进度条

@android:style/Widget.ProgressBar.Inverse:不断跳跃旋转画面的进度条

@android:style/Widget.ProgressBar.Large:大进度条

@android:style/Widget.ProgressBar.Large.Inverse:不断跳跃旋转画面的大进度条

@android:style/Widget.ProgressBar.Small:小进度条

@android:style/Widget.ProgressBar.Small.Inverse:不断跳跃旋转画面的小进度条

ProgressBar常用的XML属性

android:max                           设置该进度条的最大值

android:progress                      设置该进度条的已完成进度值

android:progressDrawable              设置该进度条的轨道的绘制形式

android:progressBarStyle              默认进度条样式

android:progressBarStyleHorizontal    水平进度条样式

android:progressBarStyleLarge         大进度条样式

android:progressBarStyleSmall         小进度条样式

  1. <ProgressBar
  2. android:id="@+id/bar"
  3. android:layout_width="fill_parent"
  4. android:layout_height="wrap_content"
  5. android:max="100"
  6. style="@android:style/Widget.ProgressBar.Horizontal"
  7. />

②android:progressDrawable    用于指定进度条的轨道的绘制形式,该属性可以指定为一个LayerDrawable对象(该对象可通过在XML文件中用<layer-list>元素进行配置)的引用。

  1. <ProgressBar
  2. android:id="@+id/bar2"
  3. android:layout_width="fill_parent"
  4. android:layout_height="wrap_content"
  5. android:max="100"
  6. android:progressDrawable="@drawable/my_bar"
  7. style="@android:style/Widget.ProgressBar.Horizontal"
  8. />

my_bar.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
  3. <!-- 定义轨道的背景 -->
  4. <item android:id="@android:id/background"
  5. android:drawable="@drawable/no"
  6. />
  7. <!-- 定义轨道上已完成部分的样式-->
  8. <item android:id="@android:id/progress"
  9. android:drawable="@drawable/ok"></item>
  10. </layer-list>

background和progress是系统定义好了的。只需要将名字为ok和no的图片添加即可。

setProgress(int) 设置进度的完成百分比

incrementProgressBy(int) 设置进度条的进度增加或减少。当参数为正数时进度增加;当参数为负数时进度减少。

例子①:利用Handler机制

  1. package com.example.progressbardemo;
  2. import android.os.Bundle;
  3. import android.os.Handler;
  4. import android.os.Message;
  5. import android.R.integer;
  6. import android.app.Activity;
  7. import android.view.Menu;
  8. import android.view.MenuItem;
  9. import android.widget.ProgressBar;
  10. import android.support.v4.app.NavUtils;
  11. public class ProgressBarActivity extends Activity {
  12. //该程序模拟填充长度为100的数组
  13. private int[] data = new int[100];
  14. int hasData = 0;
  15. //记录ProgressBar的完成进度
  16. int mProgressStatus = 0;
  17. @Override
  18. public void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_progress_bar);
  21. final ProgressBar bar = (ProgressBar)findViewById(R.id.bar);
  22. final ProgressBar bar2 = (ProgressBar)findViewById(R.id.bar2);
  23. //创建一个负责更新进度的Handler
  24. final Handler handler = new Handler(){
  25. @Override
  26. public void handleMessage(Message msg) {
  27. //表明消息是由该程序发送的
  28. if(msg.what==0x111){
  29. bar.setProgress(mProgressStatus);
  30. bar2.setProgress(mProgressStatus);
  31. }
  32. }
  33. };
  34. new Thread(){
  35. @Override
  36. public void run() {
  37. while(mProgressStatus<100){
  38. //获取耗时操作的完成百分比
  39. mProgressStatus = doWork();
  40. //发送消息到Handler
  41. Message msg = new Message();
  42. msg.what = 0x111;
  43. handler.sendMessage(msg);
  44. }
  45. }
  46. }.start();
  47. }
  48. private int doWork() {
  49. data[hasData++] = (int)(Math.random()*100);
  50. try{
  51. Thread.sleep(1000);
  52. }catch (InterruptedException e) {
  53. e.printStackTrace();
  54. }
  55. return hasData;
  56. }
  57. }

效果图:

例子②:还有一种进度条可以直接在窗口标题上,这种进度条不需要ProgressBar组件,它是直接有Activity的方法启用的。利用了Activity的requestWindowFeature()方法,传入参数为Window.FEATRUE_INDETERMINATE_PROGRESS(不带进度的进度条)和Window.FEATURE_PROGRESS(带进度的进度条)。调用Activity的setProgressBarVisibility(boolean)和setProgressBarIndeterminateVisibility(boolean)方法控制进度条的显示和隐藏。

  1. package com.example.progressbardemo;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.Window;
  6. import android.widget.Button;
  7. public class TitleProgressBar extends Activity{
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. // TODO Auto-generated method stub
  11. super.onCreate(savedInstanceState);
  12. //设置窗口特征:启用显示进度的进度条
  13. requestWindowFeature(Window.FEATURE_PROGRESS);
  14. //设置窗口特征:启用不显示进度的进度条
  15. //      requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
  16. setContentView(R.layout.titlebar);
  17. Button show = (Button)findViewById(R.id.show);
  18. Button hide = (Button)findViewById(R.id.hide);
  19. show.setOnClickListener(new Button.OnClickListener() {
  20. @Override
  21. public void onClick(View v) {
  22. //显示不带进度的进度条
  23. setProgressBarIndeterminate(true);
  24. //显示带进度的进度条
  25. setProgressBarVisibility(true);
  26. //设置进度条的进度
  27. setProgress(4500);
  28. }
  29. });
  30. hide.setOnClickListener(new Button.OnClickListener() {
  31. @Override
  32. public void onClick(View v) {
  33. //隐藏不带进度的进度条
  34. setProgressBarIndeterminate(false);
  35. setProgressBarVisibility(false);
  36. }
  37. });
  38. }
  39. }

效果图:

4.SeekBar:

android:thumb 指定一个Drawable对象,该对象将作为自定义滑块。

5.RatingBar

android:numStars="5"设置星级数(布局一定要设为wrap_content)

android:isIndicator 设置该星级评分条是否允许用户改变

android:numStars 设置该星级评分条总共有多少个星级

android:rating 设置该星期评分条默认的星级

android:stepSize 设置每次最少需要改变多少个星级

6.列表的选项(默认值)

simple_list_item_1:其中为一个TextView。

simple_list_item_2:包含两个TextView。并且在TwoLineListItem(类似于RelativeLayout,有例子在代码中)布局内。

simple_list_item_checked:每个列表项都是一个已勾选的列表项。

simple_list_item_multiple_choice:每个列表项都是带多选框的文本。

simple_list_item_single_choice:每个列表项都是带多单选按钮的文本。

7.ListView

ListActivity的默认布局是由一个位于屏幕中心的列表组成的。实际上,开发者完全可以在onCreate()方法中通过setContentView(int layoutId)方法设置用户的自定义的布局。但是在开发者指定的界面布局文件中应该包含一个id为"@+id/android:list"(代码形式为android.R.id.list)的ListView。

8.GridView

android:numColumns设置列数,该属性默认值为1,则变成ListView。

android:stretchMode设置拉伸模式:

NO_STRETCH:不拉伸

STRETCH_SPACING:仅拉伸元素表格元素本身

STRETCH_SPACING_UNIFORM:表格元素本身、元素之间的间距一起拉伸

STRETCH_COLUMN_WIDTH:仅拉伸元素表格元素本身。

9.ImageSwitcher

和ImageView很相似,它们都可用于显示图片,但ImageSwitcher比普通ImageView多一个功能:它所显示的图片切换时可以设置动画效果。

10.Gallery

android:spacing:设置Gallery内列表项之间的距离

转载于:https://blog.51cto.com/3861969/1003679

一些控件中的属性。(未完)相关推荐

  1. ASP.NET开发:在用户控件中添加属性

    在WEB开发中,可重用的代码我们可以把它写成一个通用模块供需要的地方来引用.本文就是介绍在ASP.NET的web编程时,如何在用户控件中添加属性,实现这种方法:举例说明详解. 在WEB开发中经常有一些 ...

  2. FreeTextBox1.6版本控件使用总结(未完)

    对于一个早期免费的Web控件来说,实在是难能可贵,但是由于使用和配置上不是很方便,所以把目前所使用过的技巧和方法总结一下,俗话说得好,"好记性不如烂笔头". 1.如何安装      ...

  3. Qt控件中的属性sizePolicy说明

    1. Fixed: 大小不能改变 2. Minimum: 已经是最小, 不能再被缩小, 但能放大. 3. Maximum: 已经是最大, 不能再被放大, 但能缩小. 4. Preferred:  控件 ...

  4. 怎么在ASP.NET中写HTML,如何:在 ASP.NET 网页中设置控件的 HTML 属性

    如何:在 ASP.NET 网页中设置控件的 HTML 属性 10/22/2014 本文内容 更新:2007 年 11 月 这些示例显示如何向页面中的元素添加 HTML 属性.第一个示例演示如何以声明方 ...

  5. 绑定控件中%#Eval()%和%=变量%的执行顺序

    repeater.databind()后,控件itemtemplate和AlternatingItem模版中的 控件中的 属性=<%#Eval()%> 先运行赋值绑定一行,然后再触发这一行 ...

  6. [原]请留心asp:Image控件中的ImageUrl属性

    今天快下班的时候,打开自己做的页面,在页面上(用的是Firefox)随便点点,检查看看有没有什么地方要修改的.但就是这简单的动作,切发现了一个让我郁闷的.同时也花了我将近两个小时才解决的问题----空 ...

  7. WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性

    原文:WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性 如果你要自定义一个图片按钮控件,那么如何在主窗体绑定这个控件上图片的Source呢? ...

  8. ASP.NET中TextBox控件的AutoCompleteType属性(不保存历史输入记录)

    ASP.NET AutoCompleteType 属性 返回 ASP.NET TextBox 控件参考手册 定义和用法 AutoCompleteType 属性用于设置或返回 TextBox 控件的 A ...

  9. ID为GUID类型时使用ObjectDataSource控件的时候的未找到DataObjectTypeName属性的解决方法...

    今天花了好长时间才排除一个错误,真心很久纠结. 在设计表的时候把id字段设置为guid类型的时候,然后使用数据源控件的时候 插入,更新等操作会报以下类型的错误 未能在 ObjectDataSource ...

  10. 控件中一些常用的属性和事件

    1.1常用基本属性 1)Name:表示控件的名称. 2)Enabled:表示控件是否可以对用户交互做出响应. 3)Font:表示控件中显示文字的字体格式,包括字体名称.字号以及是否以斜体.加粗和下划线 ...

最新文章

  1. Android 9.0 系统弹框
  2. 2018-4-5 丘成桐---现代几何学与计算机科学---自我总结
  3. 传统计算机视觉技术落伍了吗?不,它们是深度学习的「新动能」
  4. 9月全球浏览器份额之争:IE领先Chrome21.73%
  5. AI入门:不用任何公式把主成分分析讲清楚
  6. 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架
  7. 集合(collection)
  8. 强化学习扫盲贴:从Q-learning到DQN
  9. oracle怎样避免脑裂的,redis集群怎么防止脑裂
  10. 微信小程序网络通信(一)
  11. Anaconda+django写出第一个web app(五)
  12. Swift - 设置应用程序图标的提醒个数(右上角小红圈)
  13. 批量删除2012年9月份以前的表
  14. 转 常用C#正则表达式收集。
  15. 2010年计算机专业考研大纲解析
  16. Python学习笔记——cmd提示pip不是内部或外部命令解决方法
  17. linux移动硬盘hd0,怎样将UbuntuLinux系统放到移动硬盘?
  18. 2021年网站dns解析错误有什么办法解决呢?
  19. Python量化选股入门:资本资产定价模型(CAPM)
  20. WinRAR 破解方法详解.-----------超级简单 1分钟搞定~

热门文章

  1. 130 MySQL字段完整性约束(重要)
  2. 如何在Linux启动jar 包
  3. Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
  4. 开VM虚拟机导致内存和磁盘利用率高
  5. 【bzoj3456】城市规划(多项式求逆+dp)
  6. SQL server 数据库调用远程数据库存储过程的实现方法
  7. nginx 502 .sock failed (11: Resource temporarily unavailable) while connecting to upstream
  8. openstack使用openvswitch实现vxlan组网
  9. 【转】c语言位域操作—_结构体内冒号:的使用
  10. 【转】12 TOP Command Examples in Linux