Android高级组件
来源:互联网 发布:怎么淘宝介入 编辑:程序博客网 时间:2024/05/20 12:49
ProgressBar
2种样式,水平的 圆环的 1. 圆环:不确定时间 2. 水平:知道时间或者任务个数水平的时候,需要设置 max和progress max默认值100;使用style来设置进度条的样式使用?来引用android中的属性?和@有什么区别? @是直接引用当前的属性的值,这个值是固定的,在任意的sdk上都不会改变 ?是引用当前的属性。这个值会随着主题的改变而改变。也就是说 sdk不同时,有可能表现出不同的样式。 ?只允许引用attr属性max: 进度条的最大值 setMax getMaxprogress: 进度条的当前值,改变progress,对应的视图也会修改 setProgress getProgress
SeekBar 拖动条
一个可以拖拽修改数字的组件,和progressBar一样,有一个max和progress属性
重要监听
setOnSeekBarChangedListener();onStopTrackingTouch 当手指离开拖动条的时候,触发该方法onStartTrackingTouch 当手指按下拖动条的时候,触发该方法onProgressChanged 当进度改变的时候,触发该方法 fromUser 是否来自用户的操作
ScrollView 滚动视图 HorizontalScrollView
为其他组件提供可以滚动的操作
ScollView必须只有一个 直接的子控件
sv.fullScroll(ScrollView.FOCUS_UP/DOWN H:LEFT/RIGHT);
AutoCompleteTextView 自动完成文本框
EditText的子类,是一个输入框,自动完成功能,必须要一个数据源,然后他会在数据源中去匹配,找到后,自动提示。必须使用适配器,一般使用ArrayAdapter
ArrayAdapter
2种构造方法(不含数据源)//自己的布局 ArrayAdapter(Context,layoutId,textViewId,T[]/List<T>);//T为对象的时候,使用toString//系统的布局 ArrayAdapter(Context,layoutId,T[]/List<T>);ArrayAdapter 只能关联一个TextView 必须要有一个TextView和ta的子类
MultiAutoCompleteTextView 多行自动完成文本框
和AutoCompleteTextView相同,只不过多了一个分隔符,这个分割符必须要实现
setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//如果需要实现不同的符号,直接copy上面的源代码,修改字符。setAdapter(adapter);
Spinner 下拉列表
Spinner可以在xml给一个数据源(xml中字符串数组),也可以给一个适配器entries:设置数据源也可以给适配器 也是使用ArrayAdapter
spinner.setSelection(2,true);//选中默认值
有一个监听setOnItemSelectedListener : 当他的子项被选中的时候,选中的position位置。public void onItemSelected(AdapterView<?> parent, View view,intposition, long id)AdapterView<?> parent:跟onClick(View v)中的v一样,代表当前的组件View view: 当前适配器中的布局。position:当前选中的组件位于数组或者集合中的第几个,让我们知道当前的数据源。id: 在一般的情况下,position和id相同
ListView 列表视图
支持数据源,也支持适配器divider:分隔符dividerHeight:分隔符高度listSelector:被选中的条目变色(如果需要按下变色,需要修改item布局的根布局属性)tools:listitem:显示 默认的匹配布局scrollbars: 右边的滚动条
SimpleAdapter
简单的适配器,一点都不简单。数据源:List<HashMap<String,Object>>构造方法:SimpleAdapter adapter = new SimpleAdapter(this, getData(),R.layout.item_person, from, to);// 存放的是在布局中所有的需要设置值的组件的idint[] to = { R.id.img, R.id.tv_name, R.id.tv_info };// 在HashMap中,所有的键的名称String[] from = { "img", "name", "info" }; // 1对1 映射关系 两个数组的每一位都是关联在一起的List的长度是条目的个数HashMap是每个条目的数据,有多少键值对,说明视图有多少个组件与之一一对应。
BaseAdapter 最常用的适配器 List
万能适配器,什么都可以做setAdapter之后1. 调用getCount方法来获取数据的长度2. for(int=0;i<getCount();i++) getView(i)调用 getView(i)创建布局;
抽象方法getCount() 数据长度 显示的条目个数getItem() 返回对应条目的数据getItemId() 返回对应条目的idgetView() 返回每一个条目的视图布局重用每一个滑出去的View会从新以convertView作为参数传入getView方法if(convertView==null){convertView=View.inflate(context,layoutResId,null);实例化ViewHolderconvertView.setTag(ViewHolder); }elseViewHolder =convertView.getTag();bindView(getItem);//设置组件的值视图刷新只要数据有改变(增加或者删除数据),就必须调用适配器的adapter.notifyDataSetChanged();//必须在主线程中调用视图更新。否则会出异常。
GridView 网格视图
numColumns: 列数 显示多少列horizontalSpacing="10dp" 水平间距verticalSpacing="10dp" 垂直间距
圆角图片
将CircleImageView.java复制到 本工程中将circle_attr.xml复制到values里面将需要使用圆角的xml中的ImageView改变成 包名.CircleImageView
设置库
properties -> android -> isLibrary ->勾选
ExpandableListView和BaseExpandableListAdapter
groupIndicator: 组上的 指示器
阅读全文
0 0
- Android高级组件
- Android高级组件
- android 高级组件之 AutoCompleteTextView
- android 高级组件之Spinner
- Android高级界面组件(1)
- Android高级界面组件(2)
- 【Android开发】高级组件-进度条
- android高级界面组件之AutoCompleteTextView
- Android学习7--高级界面组件
- Android——高级界面组件
- 【Android开发】高级组件-自动完成文本框
- 【Android开发】高级组件-选项卡
- 【Android开发】高级组件-图像切换器
- 【Android开发】高级组件-网格视图
- 【Android开发】高级组件-画廊视图
- Android 高级组件ScrollView和ViewPager
- Android入门开发之高级界面组件
- Android高级组件之自动完成文本框
- ZigBee 3.0 《Base-Device-Behavior-Specification》-- Environment variables
- 1029. 旧键盘
- 反射六
- 虚函数相关内容
- 破解可读不可复制的 U 盘
- Android高级组件
- webservice
- 51nod1116-取模&大数-K进制下的大数
- 使用Doxygen生成libevent document(2.0.15)--CHM格式
- 在Spring官网下载包记录
- 7.31更新(派生类与基类)
- linunx 下载文件到本地
- 动态代理
- Unity3d 控制物体transform移动的几种方法