一些控件中的属性。(未完)
用过很多控件,但是具体细节上还是很缺乏。今天看到书里面提到的东西还蛮详细的,所以就记录下来。
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 小进度条样式
- <ProgressBar
- android:id="@+id/bar"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:max="100"
- style="@android:style/Widget.ProgressBar.Horizontal"
- />
②android:progressDrawable 用于指定进度条的轨道的绘制形式,该属性可以指定为一个LayerDrawable对象(该对象可通过在XML文件中用<layer-list>元素进行配置)的引用。
- <ProgressBar
- android:id="@+id/bar2"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:max="100"
- android:progressDrawable="@drawable/my_bar"
- style="@android:style/Widget.ProgressBar.Horizontal"
- />
my_bar.xml
- <?xml version="1.0" encoding="utf-8"?>
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <!-- 定义轨道的背景 -->
- <item android:id="@android:id/background"
- android:drawable="@drawable/no"
- />
- <!-- 定义轨道上已完成部分的样式-->
- <item android:id="@android:id/progress"
- android:drawable="@drawable/ok"></item>
- </layer-list>
background和progress是系统定义好了的。只需要将名字为ok和no的图片添加即可。
setProgress(int) 设置进度的完成百分比
incrementProgressBy(int) 设置进度条的进度增加或减少。当参数为正数时进度增加;当参数为负数时进度减少。
例子①:利用Handler机制
- package com.example.progressbardemo;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.R.integer;
- import android.app.Activity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.ProgressBar;
- import android.support.v4.app.NavUtils;
- public class ProgressBarActivity extends Activity {
- //该程序模拟填充长度为100的数组
- private int[] data = new int[100];
- int hasData = 0;
- //记录ProgressBar的完成进度
- int mProgressStatus = 0;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_progress_bar);
- final ProgressBar bar = (ProgressBar)findViewById(R.id.bar);
- final ProgressBar bar2 = (ProgressBar)findViewById(R.id.bar2);
- //创建一个负责更新进度的Handler
- final Handler handler = new Handler(){
- @Override
- public void handleMessage(Message msg) {
- //表明消息是由该程序发送的
- if(msg.what==0x111){
- bar.setProgress(mProgressStatus);
- bar2.setProgress(mProgressStatus);
- }
- }
- };
- new Thread(){
- @Override
- public void run() {
- while(mProgressStatus<100){
- //获取耗时操作的完成百分比
- mProgressStatus = doWork();
- //发送消息到Handler
- Message msg = new Message();
- msg.what = 0x111;
- handler.sendMessage(msg);
- }
- }
- }.start();
- }
- private int doWork() {
- data[hasData++] = (int)(Math.random()*100);
- try{
- Thread.sleep(1000);
- }catch (InterruptedException e) {
- e.printStackTrace();
- }
- return hasData;
- }
- }
效果图:
例子②:还有一种进度条可以直接在窗口标题上,这种进度条不需要ProgressBar组件,它是直接有Activity的方法启用的。利用了Activity的requestWindowFeature()方法,传入参数为Window.FEATRUE_INDETERMINATE_PROGRESS(不带进度的进度条)和Window.FEATURE_PROGRESS(带进度的进度条)。调用Activity的setProgressBarVisibility(boolean)和setProgressBarIndeterminateVisibility(boolean)方法控制进度条的显示和隐藏。
- package com.example.progressbardemo;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.Window;
- import android.widget.Button;
- public class TitleProgressBar extends Activity{
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- //设置窗口特征:启用显示进度的进度条
- requestWindowFeature(Window.FEATURE_PROGRESS);
- //设置窗口特征:启用不显示进度的进度条
- // requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
- setContentView(R.layout.titlebar);
- Button show = (Button)findViewById(R.id.show);
- Button hide = (Button)findViewById(R.id.hide);
- show.setOnClickListener(new Button.OnClickListener() {
- @Override
- public void onClick(View v) {
- //显示不带进度的进度条
- setProgressBarIndeterminate(true);
- //显示带进度的进度条
- setProgressBarVisibility(true);
- //设置进度条的进度
- setProgress(4500);
- }
- });
- hide.setOnClickListener(new Button.OnClickListener() {
- @Override
- public void onClick(View v) {
- //隐藏不带进度的进度条
- setProgressBarIndeterminate(false);
- setProgressBarVisibility(false);
- }
- });
- }
- }
效果图:
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
一些控件中的属性。(未完)相关推荐
- ASP.NET开发:在用户控件中添加属性
在WEB开发中,可重用的代码我们可以把它写成一个通用模块供需要的地方来引用.本文就是介绍在ASP.NET的web编程时,如何在用户控件中添加属性,实现这种方法:举例说明详解. 在WEB开发中经常有一些 ...
- FreeTextBox1.6版本控件使用总结(未完)
对于一个早期免费的Web控件来说,实在是难能可贵,但是由于使用和配置上不是很方便,所以把目前所使用过的技巧和方法总结一下,俗话说得好,"好记性不如烂笔头". 1.如何安装 ...
- Qt控件中的属性sizePolicy说明
1. Fixed: 大小不能改变 2. Minimum: 已经是最小, 不能再被缩小, 但能放大. 3. Maximum: 已经是最大, 不能再被放大, 但能缩小. 4. Preferred: 控件 ...
- 怎么在ASP.NET中写HTML,如何:在 ASP.NET 网页中设置控件的 HTML 属性
如何:在 ASP.NET 网页中设置控件的 HTML 属性 10/22/2014 本文内容 更新:2007 年 11 月 这些示例显示如何向页面中的元素添加 HTML 属性.第一个示例演示如何以声明方 ...
- 绑定控件中%#Eval()%和%=变量%的执行顺序
repeater.databind()后,控件itemtemplate和AlternatingItem模版中的 控件中的 属性=<%#Eval()%> 先运行赋值绑定一行,然后再触发这一行 ...
- [原]请留心asp:Image控件中的ImageUrl属性
今天快下班的时候,打开自己做的页面,在页面上(用的是Firefox)随便点点,检查看看有没有什么地方要修改的.但就是这简单的动作,切发现了一个让我郁闷的.同时也花了我将近两个小时才解决的问题----空 ...
- WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性
原文:WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性 如果你要自定义一个图片按钮控件,那么如何在主窗体绑定这个控件上图片的Source呢? ...
- ASP.NET中TextBox控件的AutoCompleteType属性(不保存历史输入记录)
ASP.NET AutoCompleteType 属性 返回 ASP.NET TextBox 控件参考手册 定义和用法 AutoCompleteType 属性用于设置或返回 TextBox 控件的 A ...
- ID为GUID类型时使用ObjectDataSource控件的时候的未找到DataObjectTypeName属性的解决方法...
今天花了好长时间才排除一个错误,真心很久纠结. 在设计表的时候把id字段设置为guid类型的时候,然后使用数据源控件的时候 插入,更新等操作会报以下类型的错误 未能在 ObjectDataSource ...
- 控件中一些常用的属性和事件
1.1常用基本属性 1)Name:表示控件的名称. 2)Enabled:表示控件是否可以对用户交互做出响应. 3)Font:表示控件中显示文字的字体格式,包括字体名称.字号以及是否以斜体.加粗和下划线 ...
最新文章
- Android 9.0 系统弹框
- 2018-4-5 丘成桐---现代几何学与计算机科学---自我总结
- 传统计算机视觉技术落伍了吗?不,它们是深度学习的「新动能」
- 9月全球浏览器份额之争:IE领先Chrome21.73%
- AI入门:不用任何公式把主成分分析讲清楚
- 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架
- 集合(collection)
- 强化学习扫盲贴:从Q-learning到DQN
- oracle怎样避免脑裂的,redis集群怎么防止脑裂
- 微信小程序网络通信(一)
- Anaconda+django写出第一个web app(五)
- Swift - 设置应用程序图标的提醒个数(右上角小红圈)
- 批量删除2012年9月份以前的表
- 转 常用C#正则表达式收集。
- 2010年计算机专业考研大纲解析
- Python学习笔记——cmd提示pip不是内部或外部命令解决方法
- linux移动硬盘hd0,怎样将UbuntuLinux系统放到移动硬盘?
- 2021年网站dns解析错误有什么办法解决呢?
- Python量化选股入门:资本资产定价模型(CAPM)
- WinRAR 破解方法详解.-----------超级简单 1分钟搞定~
热门文章
- 130 MySQL字段完整性约束(重要)
- 如何在Linux启动jar 包
- Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
- 开VM虚拟机导致内存和磁盘利用率高
- 【bzoj3456】城市规划(多项式求逆+dp)
- SQL server 数据库调用远程数据库存储过程的实现方法
- nginx 502 .sock failed (11: Resource temporarily unavailable) while connecting to upstream
- openstack使用openvswitch实现vxlan组网
- 【转】c语言位域操作—_结构体内冒号:的使用
- 【转】12 TOP Command Examples in Linux