dxp控件总结(精选3篇)
篇1:dxp控件总结
From 属性:
1.MaximizeBox:是否显示最小化按钮。2.MinimizeBox:是否显示最大化按钮。
3.FormBorderStyle:窗口样式,如FixedSingle:固定大小。4.StartPosition:初始显示的位置,CenterScreen:中心。
事件:
TreeList: 属性:
1.隐藏列头:设置OptionsView中的ShowColumns改为false 2.隐藏每行最左边的指示箭头:设置OptionsView中的ShowIndicator改为false 3.隐藏父节点的指示箭头:设置OptionsView中的ShowRoot改为false 4.selectImageList:给TreeList绑定imageCollection 5.OptionsView.ShowVertLines:是否显示网格线(竖直的)6.OptionsView.ShowHorzLines:是否显示网格线(水平的)
7.OptionsSelection.EnableAppearanceFocusedCell:选中单元格,是否改变该单元格外观(选中后该单元格有边线或不显示边线)
8.OptionsSelection.EnableAppearanceFocusedRow:选中行。是否改变该行的外观(选中后该行底色是否变化)
9.OptionsView.ShowCheckBoxes:是否在每一行前显示勾选框。
事件:
1.FocusedNodeChanged:焦点改变后触发
2.treeList_Enter:第一次点击是触发,初始化控件时候,焦点会在第一行,此时就触发。3.CustomNodeCellEdit:鼠标选中某个Cell时触发,可以实现动态的设定Cell绑定的控件类型 4.MouseDoubleClick:双击节点触发
5.FocusedColumnChanged:选中列改变时触发,即前后点击的列不一样时触发(即使前后选中列不在一行,只要选中列改变就会触发,与行无关。若前后选中列中某列的ReadOnly = ture则不会触发该事件)
6.MouseDoubleClick:鼠标双击节点时触发。7.MouseUp:鼠标点击节点弹起时触发。(e.Button可以得到曾按下的是哪个按钮)8.SelectImageClick:点击SelectImage触发 9.StateImageClick:点击StateImage触发 10.BeforeExpand:节点展开之前 11.BeforeFocusNode:焦点选中之前
DevExpress.XtraTreeList.StyleFormatConditions.StyleFormatCondition styleFormatCondition = new DevExpress.XtraTreeList.StyleFormatConditions.StyleFormatCondition();styleFormatCondition.Appearance.ForeColor = System.Drawing.Color.DarkGray;styleFormatCondition.Appearance.Options.UseForeColor = true;styleFormatCondition.ApplyToRow = true;styleFormatCondition.Condition = DevExpress.XtraGrid.FormatConditionEnum.Expression;styleFormatCondition.Expression = “[Style]”;this.treeList1.FormatConditions.Add(styleFormatCondition);
treeListColumn:TreeList中添加的列
属性:
1.表示这一列为只读:OptionsColumn中的ReadOnly = True 2.固定列的宽度不变:OptionsColumn中的FixedWidth = True 3.表示这一列不可编辑(无法实现复制):OptionsColumn中的AllowEdit = False 4.FieldName: 5.UnboundType:
6.SortOrder:列表中的项排序,SortOrder =Descending,递减排序。SortOrder = Ascending,递增排序。
treeList.AppendNode();//添加节点(TreeListNode)
TreeListNode:(TreeList中的节点)
属性: 1.ImageIndex:正常情况下节点前面显示的图片的索引
2.SelectImageIndex:选中节点时节点前边显示的图片的索引
3.StateImageIndex:节点开头显示的图片索引(在SelectImageIndex之后)4.Level:节点的级别(0:根节点、1:一级节点···)imageCollection 属性:
1.Images:在imageCollection中添加图片
ImageComboBoxEdit ComboBoxEdit 属性:
1.调整下拉菜单直观显示出来的行数(即不用滚动条就可以看的到的行数):DropDownRows 2.Properties.Items:绑定数据源
3.Properties.TextEditStyle:Standard(可输入,可选),HideTextEditor(只能通过下拉菜单选择,选中后不在界面上显示),DisableTextEditor(只能通过下拉菜单选择并且选中后在界面上显示)
4.ToolTip:
5.SelectedIndex:选择的Item的索引(get,set)
事件:
1:EditValueChanged:只要是值改变就会触发 2:SelectedIndexChanged:(值改变触发)SelectedIndex改变触发。3:SelectedValueChanged:(值改变触发)SelectedValue改变触发。
4:DrawItem:光标在下拉菜单上移动的时候触发,即光标在选择项上来回移动时触发
ComboBox(win)
属性:
1.DroppedDown:设置/获取下拉菜单是否展开。
2.SelectionStart:设置光标的位置(输入文本时用,设置为Text.Length可以保证光标在最后一个字符的后面,避免将前边的字符覆盖掉)。事件:
1.TextUpdate:输入的值时(text属性值改变时)触发。(在TextChanged事件之前)2.TextChanged:输入的值时(text属性值改变时)触发。(在TextUpdate事件之后)3.MouseDown:鼠标在控件上按下时触发。
LabelControl:
属性: 事件:
notePane:
属性:
1.MaxRow:设置notePane最大显示行数
TextEdit:单行文本输入
事件:
1.EditValueChanged:TextEdit值改变时候触发
2.Validating:焦点离开TextEdit时触发,验证有效性(有效性的标准通过自己在事件里面的代码来写,若设置了EditMask,进入该事件会先自动根据EditMask为标准来验证有效性,完成之后执行事件里面的代码)3.KeyPress:键盘按下某一个键触发。
属性:
1.TextEdit.Mask.EditMask:可以规定输入的格式,类似正则表达式
2.TextEdit.Mask.MaskType:指定可填写的文本类型(如:数字、字符串或者是根据正则表达式(RegEx)来约束···EditMask与MaskType配合使用,若MaskType= RegEx,EditMas = 某正则表达式,当MaskType是DateTime,Numeric时,EditMask为指定的相应类型)3.MaxLength:可填的最大字符长度,仅当MaskType = None时有效
4.TextEdit.Mask.BeepOnError:当用户输入不满足EdiMask要求时,是否发beep声。5.UseSystemPasswordChar: true –密码框(输入的内容在界面上是 ****)6.实现水印文字:Properties.NullValuePrompt = “输入密码”
Properties.NullValuePromptShowForEmptyValue = true;
memoEdit:多行文本输入
属性: 事件:
checkEdit:
属性:
1.Checked:是否选中
事件:
1.CheckedChanged:勾选状态改变时触发(选中变不选中,不选中变选中)
checkedListBoxControl:(实现多选框)
属性: 事件:
1.DrawItem:光标在选择菜单上移动的时候触发,即光标在选择项上来回移动时触发(与ComboBoxEdit的DrawItem事件相似)2.ItemCheck:勾选或取消勾选Item时触发。(e.Index:点击的Item的索引,e.State:改变的状态)3.方法: 1.UnCheckAll();//全部不选 2.CheckAll();//全选中
PopupContainerEdit:
属性:
1. Properties.PopupControl:(PopupContainerEdit和PopupContainerControl组合,实现下拉组合框)this.popupContainerEdit1.Properties.PopupControl = this.popupContainerControl1;
事件:
1.EditValueChanged 2.QueryResultValue PopupContainerControl:
属性: 事件:
splitContainerControl: barManager: popupMenu:
lookUpEdit:
属性:
1.Properties.DataSource:绑定数据(可以直接将list<>赋值给它)。
2.Properties.TextEditStyle:Standard(可输入),HideTextEditor(只能通过下拉菜单选择,选中后不在界面上显示),DisableTextEditor(只能通过下拉菜单选择并且选中后在界面上显示)3.事件:
panelControl:
属性:
1.BorderStyle(边框风格):NoBorder–无边框,事件:
wizardControl:
属性:
1.HeaderImage:右上角图片。2.CancelText:3.FinishText:4.NextText:5.PreviousText:
当在最后一页时中间按钮变为“结束”
事件:
1.CancelClick:点击“取消”触发。2.FinishClick:最后一页点击结束触发。3.SelectedPageChanging:切换页面时触发。(e.Direction:判断是向前翻页还是向后翻页,e.Page:新页)
4.SelectedPageChanged:切换页面后触发。(e.PrevPage:旧页)
wizardPage:(wizardControl中的每一页)
属性:
1. DescriptionText:2. Text:
事件:
1.PageValidating:验证事件。(e.Direction:判断是向前翻页还是向后翻页,e.Valid = false;翻不过去)2.simpleButton:
属性:
1.事件: buttonEdit:
属性: 事件:
dropDownButton: 属性:
1.DropDownControl:(dropDownButton控件实现下拉框)
增加2个控件barManager1。
dropDownButton 的DropDownControl属性选择popupMenu1。popupMenu1的Manager属性选择事件:
radioGroup:
属性: 事件:
spinEdit:
属性:
1.Appearance.TextOptions.HAlignment:输入的文本的位置,如:Near,近前边。,靠事件:
GridControl 事件: 1.MouseDoubleClick:双击某一行。
gridView
属性:
1.OptionsBehavior.Editable:是否可用
vGridControl 属性:
1.2.3.4.5.OptionsBehavior.Editable:是否可用
OptionsBehavior.ResizeHeaderPanel:是否可以拖拽改变每一行的高度 OptionsBehavior.ResizeRowHeaders:是否可以拖拽改变每一列的宽度。LayoutStyle:布局风格
OptionsView.AutoScaleBands:当LayoutStyle为SingleRecordViewBandsView,设置该属性为true,列宽自动填充 6.XtraTabControl 属性:
1.ClosePageButtonShowMode:如何显示每个tabPage上的关闭按钮。
如:InActiveTabPageHeader:当TabPage为当前选中时显示关闭按钮。2.HeaderLocation:标签位置(上下左右)3.ShowTabHeader:是否显示标签
4.HeaderOrientation:标签方向(Horizontal:水平,Vertical竖直)5.HeaderButtons:当tabpage过多,需要翻页时,设置翻页按钮如何组合。如
6.TabPageWidth:统设标签宽度。
事件:
1.CloseButtonClick:点击标签上的X按钮事件
XtraTabPage:
属性:
1.ShowCloseButton:是否显示关闭按钮。2.TabPageWidth:这一页的标签宽度。
篇2:dxp控件总结
PAGEDOWN:以鼠标所在点为中心,缩小视图;
HOME:居中,可以从原来光标下的图纸位置,移位到工作区中心位置显示;
END:更新绘图区的图形;
四个方向键:用于逐步往各个方向移动;
F——U:打印设置;
F——P:打开打印机;
F——N:新建文件
F——O:打开文件
F——S:保存文件
F——V:打印预览
E——U:取消上一步操作
E——F:查找
E——S:选择
E——D:删除
E——G:对齐,E——G——L左对齐
V——D:显示整个图形区域;
V——F:显示所有元件;
V——A:区域放大
V——E:放大选中的元件
V——P:以鼠标单击点为中心进行放大
V——O:缩小
V——5,1,2,4放在50%,10%,200%,400%
V——N:将鼠标所在点移动到中心;=HOME
V——R:更新视图;=END
V——T:工具栏选择
V——W:工作区面板选择;
V——G:网格选项;
C——在视图区打开工程快捷菜单
P——B:放置总线
P——U:放置总线接口
P——P:放置元件
P——J:放置接点
P——O:放置电源
P——W:连线
P——N:放置网络编号
P——R:放置IO口
P——T:放置文字
P——D:绘图工具栏
D——B:浏览库
D——L:增加/删除库
D——M:制作库
T——:打开工具菜单 R——:打开报告菜单;
W——:打开窗口菜单
Protel DXP提供了三种导线延伸模式,<空格>用于横/竖的切换;
放置元件时,按X键,实现水平翻转;按Y实现上下翻转;
CTRL+Q 打开选择记忆器窗口,可快速选择记忆器中民存储的元件;
*************************************************************************
1、设计浏览器快捷键:
鼠标左击
选择鼠标位置的文档
鼠标双击
编辑鼠标位置的文档
鼠标右击
显示相关的弹出菜单
Ctrl+F4
关闭当前文档
Ctrl+Tab
循环切换所打开的文档
Alt+F4
关闭设计浏览器DXP
2、原理图和PCB通用快捷键:
Shift
当自动平移时,快速平移
Y
放置元件时,上下翻转
X
放置元件时,左右翻转
Shift+↑↓←→
箭头方向以十个网格为增量,移动光标
↑↓←→
箭头方向以一个网格为增量,移动光标
SpaceBar
放弃屏幕刷新
Esc
退出当前命令
End
屏幕刷新
Home
以光标为中心刷新屏幕
PageDown,Ctrl+鼠标滚轮
以光标为中心缩小画面
PageUp, Ctrl+鼠标滚轮
以光标为中心防大画面
鼠标滚轮
上下移动画面
Shift+鼠标滚轮
Ctrl+Z
Ctrl+Y
Ctrl+A
Ctrl+S
Ctrl+C
Ctrl+X
Ctrl+V
Ctrl+R
Delete
V+D
V+F
X+A
单击并按住鼠标右键
点击鼠标左键
点击鼠标右键
右击鼠标并选择Find Similar
点击鼠标左键并按住拖动
左右移动画面
撤销上一次操作
重复上一次操作
选择全部
保存当前文档
复制
剪切
粘贴
复制并重复粘贴选中的对象
删除
显示整个文档
显示所有对象
取消所有选中的对象
显示滑动小手并移动画面
选择对象
显示弹出菜单,或取消当前命令选择相同对象
选择区域内部对象
点击并按住鼠标左键
选择光标所在的对象并移动
双击鼠标左键
编辑对象
Shift+点击鼠标左键
选择或取消选择
TAB
编辑正在放置对象的属性
Shift+C
Shift+F
Y
F11
F12
3、原理图快捷键:
Alt
G
空格键(Spacebar)
空格键(Spacebar)
Shift+空格键(Spacebar)
退格建(Backspace)
点击并按住鼠标左键+Delete
点击并按住鼠标左键+Insert
Ctrl+点击并拖动鼠标左键
4、PCB快捷键:
Shift+R
Shift+E
清除当前过滤的对象
可选择与之相同的对象
弹出快速查询菜单
打开或关闭Inspector面板
打开或关闭List面板
在水平和垂直线上限制对象移动
循环切换捕捉网格设置
放置对象时旋转90度
放置电线、总线、多边形线时激活开始/结束模式放置电线、总线、多边形线时切换放置模式
放置电线、总线、多边形线时删除最后一个拐角
删除所选中线的拐角
在选中的线处增加拐角
拖动选中的对象
切换三种布线模式
打开或关闭电气网格
Ctrl+G
弹出捕获网格对话框
G
弹出捕获网格菜单
N
移动元件时隐藏网状线
L
镜像元件到另一布局层
退格键
Shift+空格键
空格键
Shift+S
O+D+D+Enter
O+D+F+Enter
O+D
L
Ctrl+H
Ctrl+Shift+Left-Click
+
*
M+V
Alt
Ctrl
Ctrl+M
Shift+空格键
在布铜线时删除最后一个拐角
在布铜线时切换拐角模式
布铜线时改变开始/结束模式
切换打开/关闭单层显示模式
选择草图显示模式
选择正常显示模式
显示/隐藏Prefences对话框
显示Board Layers对话框
选择连接铜线 打断线
切换到下一层(数字键盘)
切换到上一层(数字键盘)
下一布线层(数字键盘)
移动分割平面层顶点
避开障碍物和忽略障碍物之间切换
布线时临时不显示电气网格
测量距离
顺时针旋转移动的对象
空格键
逆时针旋转移动的对象
Q
米制和英制之间的单位切换v
PROTEL DXP快捷键一览
enter——选取或启动
esc——放弃或取消
f1——启动在线帮助窗口
tab——启动浮动图件的属性窗口
pgup——放大窗口显示比例
pgdn——缩小窗口显示比例
end——刷新屏幕
del——删除点取的元件(1个)
ctrl+del——删除选取的元件(2个或2个以上)
x+a——取消所有被选取图件的选取状态
x——将浮动图件左右翻转
y——将浮动图件上下翻转
space——将浮动图件旋转90度
crtl+ins——将选取图件复制到编辑区里
shift+ins——将剪贴板里的图件贴到编辑区里
shift+del——将选取图件剪切放入剪贴板里
alt+backspace——恢复前一次的操作
ctrl+backspace——取消前一次的恢复
crtl+g——跳转到指定的位置
crtl+f——寻找指定的文字
alt+f4——关闭protel
spacebar——绘制导线,直线或总线时,改变走线模式
v+d——缩放视图,以显示整张电路图
v+f——缩放视图,以显示所有电路部件
home——以光标位置为中心,刷新屏幕
esc——终止当前正在进行的操作,返回待命状态
backspace——放置导线或多边形时,删除最末一个顶点
delete——放置导线或多边形时,删除最末一个顶点
ctrl+tab——在打开的各个设计文件文档之间切换
alt+tab——在打开的各个应用程序之间切换
a——弹出editalign子菜单
b——弹出viewtoolbars子菜单
e——弹出edit菜单
f——弹出file菜单
h——弹出help菜单 j——弹出editjump菜单
l——弹出editset location makers子菜单
m——弹出editmove子菜单
o——弹出options菜单
p——弹出place菜单
r——弹出reports菜单
s——弹出editselect子菜单
t——弹出tools菜单
v——弹出view菜单
w——弹出window菜单
x——弹出editdeselect菜单
z——弹出zoom菜单
左箭头——光标左移1个电气栅格
shift+左箭头——光标左移10个电气栅格
右箭头——光标右移1个电气栅格
shift+右箭头——光标右移10个电气栅格
上箭头——光标上移1个电气栅格
shift+上箭头——光标上移10个电气栅格
下箭头——光标下移1个电气栅格
shift+下箭头——光标下移10个电气栅格
ctrl+1——以零件原来的尺寸的大小显示图纸
ctrl+2——以零件原来的尺寸的200%显示图纸
ctrl+4——以零件原来的尺寸的400%显示图纸
ctrl+5——以零件原来的尺寸的50%显示图纸
ctrl+f——查找指定字符
ctrl+g——查找替换字符
ctrl+b——将选定对象以下边缘为基准,底部对齐
ctrl+t——将选定对象以上边缘为基准,顶部对齐
ctrl+l——将选定对象以左边缘为基准,靠左对齐
ctrl+r——将选定对象以右边缘为基准,靠右对齐
ctrl+h——将选定对象以左右边缘的中心线为基准,水平居中排列
ctrl+v——将选定对象以上下边缘的中心线为基准,垂直居中排列
ctrl+shift+h——将选定对象在左右边缘之间,水平均布
ctrl+shift+v——将选定对象在上下边缘之间,垂直均布
f3——查找下一个匹配字符
shift+f4——将打开的所有文档窗口平铺显示
shift+f5——将打开的所有文档窗口层叠显示
shift+单左鼠——选定单个对象
crtl+单左鼠,再释放crtl——拖动单个对象
shift+ctrl+左鼠——移动单个对象
按ctrl后移动或拖动——移动对象时,不受电器格点限制
按alt后移动或拖动——移动对象时,保持垂直方向
按shift+alt后移动或拖动——移动对象时,保持水平方向
PCB设计基础
方格与格点的切换:View-Grids-Toggle Visible Grid Kind 源点:Edit-Origin-Set 边界的定义:Keep Out Layer-Utility Tools-Place Line 按TAB可定义线宽 选取元件:PCB-PCB Filter-IS Component 逐个放置元件:TOOLS-Component Placement-Reposition Selected Components 自动布局:ToolS-Component Placement--Arrange Within Room 自动布局器:ToolS-Component Placement--Auto Placer 元件排列(居中 居左居右等):选中元件右键Align-或Alignment Tools--元件在层之间的快速切换:拖动元件的过程按L键
让焊盘放在格点上:选中元件,右键-Component Actions-Move Component Origin To Grid 移动元件的远近:“G”键 选择mil 刷新屏幕: 键盘“END” 改走线模式(5种):shift+空格键
“45°线性” “45°+圆角” “90°”“ 任意角”“90°+圆弧 ”“圆弧” 遇障碍物:右键-Options-Preferences-...“Shift+R”3种模式:推挤 等 布线快捷菜单“~ ”键 线宽设置:“Shift+W” 12.PCB设计提高b 交互式布线:
13.PCB设计深入a
板的(螺丝)固定孔,铜柱内孔3.3mm,外孔5.0mm,Layer:Multi-layer; 孔发绿修改规则:Design-Rules-HoleSize;板边5mm圆弧:Place-KeepOut-Arc Ctrl+Q 切换英美单位制度;
保护元器件位置:锁定 双击-Lock打钩
保护已锁定物体:Tools-Preference-PCB Editer-General-Protect Locked Objects 打钩; 双层板过孔放置...;
键盘左上角快捷键波浪号“~ ”显示布线快捷菜单; “+”“-”可切换层;
字体(条形码)放置:“A”-Place String; 对板的定义:Designers-Board Shape-R/D;
尺度标注:Place Dimension-Place Linear Dimension 13.PCB设计深入b 工具栏恢复原始状态:在工具栏处右键Customizing PCB Editor-Toolbar-Restore; 圆形板 尺度标注; 填充Place Fill;
复制粘贴:选中-Edit-Rubber Stamp-单击 粘贴特殊形状:选中-Edit-Paste Special(圆形或阵列粘贴)第一次确定圆心,第二次确定半径; 选择一组Select:“S键”-Touching Liner线/Rectangle矩形 或Shift 一个个选 移动Move:“M” 整体移动:选中-右键-Unions-Create Union from selected object/break 解脱从联合体
弱小信号线包地:选中-“s”select net,Tool-Outline-Selected Objects 查找相似物体:右键-Find Similar Object PCB 测距离:Report-Measure Distance 自动布线:Auto Route:Net/Net Class/Connection/Area/Room 重要的一点是要先设定好布线规则。查看布线层:Shift+F或“*”切换层 切断线:Edit-Slice Tracks 布完线进行规则检查:Tools-Design Rule Check-Run D_R_C_ 3D视图:数字键“3”或View-Switch to 3D,Shift+右键旋转; 右下角PCB-3D Visualization 13.PCB设计深入c 铺铜Place-Polyon Pour 去死铜:双击铜区,Remove Deader Copper 打钩
注意软件兼容问题 实铜Solid与Hatched在PROERL99SE与DXP 的显示区别 原理图和PCB的双向同步更新:
检测PCB与原理图的不同处:Project-Show Differences 在原理图里更改后更新到PCB:Design-Update PCB Document in 在PCB里更改后更新到原理图:Design-Update Schematics in 标号Designator显示:PCB Filter ISDesignator 然后PCB Inspector
Hide 重新标注:Tool-Re Annotate 元器件标号自动排列:选中器件-右键-Align-Position Component Text 补泪滴:Tool-Teardrops,焊盘与导线连接更牢固 生成生产制造文件:File-Fabrication Outputs 生成PDF文件:File-Smart PDF 翻板:View-Flip Board L打开层 S打开选择 J 跳转
Q
英寸和毫米选择 空格 翻转
选择某物体(导线,过孔等),同时按下Tab键可改变其属性(导线长度,过孔大小等)选择目标,按住shift拖动
在PCB电气层之间切换(小键盘上的*)。在交互布线的过程中,按此键则换层并自动添加过孔。这很常用。
DXP->preferences 系统设置
其中General--Use localized resources 中文 其中Backup--设置备份时间 树形图标--home 快捷键--右下角help-shortcuts 默认布局--View-Desktop layouts--Default 窗口缩回的速度--DXP->preferences->system->view--Hide delay 打开不同面板--右下角System等等 切换不同窗口--ctrl+tab 放大和缩小---ctrl+鼠标中键滚轴
选取工具栏上的图标,下面状态栏有它对应的一些快捷方式用途
DeSign-Template-Set Template File Name...A4
修改右下方的边框(title,日期)格式 拖动移动时连线跟着自动延长 Drag---ctrl+鼠标拖动 复制目标---选择目标,按住shift拖动
自动添加元件编号---Tools->Annotate Schematics Preferences-->Schematic-->Graphical Editing
Convert Special Strings 转换特殊字符串 原理图出现红色波浪形表示有违法规则的地方(例如两个同名R1)编译完原理图,查看Message窗口(注意元件库导出隐藏的VCC,GND引脚)原理图连接处,或添加NEt,会有四个白色方形小点 总线连接
总net 例如:RB[0..7]
每一导线net分别为:RB0,RB1....如何全局修改
例如:单击电容C1选中,鼠标右键选择Find Similar Objects(Select Matching 选中,二步骤可以跳过
(1)Part Comment---same Current Footprint---same ,点击OK按钮(2)Select ALL(3)SCH Inspector 窗口 修改 Footprint Tools-->FootPrint Manager 分层设计
(1)一种水平设置,N个分图,net设置全局(project-->project options-->Options...Net Identifier Scope..Gloal)不推荐
(2)一种垂直设置,一个总图(Sheet Entry),N个分图(PORT)连接只能Sheet Entry到PORT 第二种方法:
(1)Place sheet Symbol(方框)和 sheet Entry(放在方框边界内侧)(2)选择sheet Symbol,右键选择“Sheet symbol actions”--creat sheet from symbol 原理图库
(1)File-->New-->Library-->sch..(2)右边下方SCH打开SCH Library 窗口(3)Place->RecTangle,注意放在原点(4)Library Components Properties
Designator U?
Comment max232
Symbol Refernece max234(5)可将一个元件库分为两个Part,例如parta,partb(通过Tools-->new part)特殊用途:选择该元件,按F1打开该元件的pdf文档
Library Components Properties-->Parameters for Component-->Add..Name: HelpURL
Value: C:zyabc.pdf#page=5 PCB库
(1)File-->New-->Library-->pcb..(2)右边下方PCB打开pcb Library 窗口 IPC FootPrint wizard..(比较有用)画图要焊盘要比datasheet中长1mm 集成库
(1)File-->New-->Project-->Interger Library(2)新建sch.lib和pcb.lib, 在sch.lib中选择Tools-->Model Manage....(3)Project-->Compile Integrated Library 盲孔(BIINDVIA):从印制板内仅延展到一个表层的导通孔。埋孔(BURIEDVIA):未延伸到印制板表面的一种导通孔。PCB绘制
(1)在PCB中 Design-->Import Changes From.....(2)S+N 选择相同net的线
(3)Design-->Board layers & color-->show/hide polygons hide(将覆铜隐藏)(L快捷键)(4)查看PCB元件,通过打开PCB窗口,选择Components(5)shift+S 单层打开或关闭
(6)对弱小信号可选择包地处理(Tools-->Outline Selected Object)(7)Tools-->Design Rule Check...(8)File-->Fabrication Outputs-->Gerber Files(可直接给这个文件到工厂)覆铜:
place-->polygon Pour...1.Pour Over Same Net Polygons Only 相同net铜箔覆盖
2.Pour Over All Same Net Objects
铜箔覆盖相同net部分(将相同net的导线等等融合了)注意 :如果要保存为PCB4.0 Binary File(*.pcb), 覆铜要选择网格式,(可将网格Track With和Grid Size设置一样,就如同Solid格式了)如何隐藏所有Designator(即u1,r1,r2....)(1)PCB filer-->IsDesignator 选择所有Designator(2)PCB Inspector-->Hide 如何将Designator(即u1,r1,r2....)自动放置在元件附件(1)PCB filer-->IsComponent(2)Align-->Position Component Text....将PCB翻转 查看反面方便 view-->Filp Board PCB查看层数 Design-->Layer Stack Manager “类” Design-->class 比如新建一个net class ,把Vc3.3 VC5等加入,然后在rule中选择Net class,这样规则适用范围就是自己定义的类了 按键2--2D 按键3--3D 原理图画线:P+W PCB图画线: P+T CTRL+F
在原理图里同快速查找元器件 J+C
在PCB里面快速查的元件 S+N 选择net(ctr+H)E+E+A 去掉全部选中物体
T+U+C 删除两个焊点间的导线 shift+S 单层打开或关闭 shift+C 去掉过滤
Shift+空格键 在交互布线的过程中,切换布线形状 ctrl+鼠标左键拖动 == 拖动时连线跟着延长 ctrl+鼠标右键 ==PCB选择相同net,并高亮 ctrl+D hide/show层
ctrl+crosspobe ==原理图和PCB快速切换 ctrl+上下箭头 ==分图和总图的切换 ctrl+M ==测量距离
篇3:dxp控件总结
手机Android系统常用控件总结
Notepad++编写 可以负责粘贴到其中去 看得更清楚。(内容包括了Android中的大部分常用控件及其事件的监听)第一章
1.1 Android中src文件夹包含项目的所有包及其资源文件,res文件夹包含了项目中所有的资源。比如:程序图标(drawable),布局文件(layout),常量(value),音频文件(raw)R.java是在创建项目是自动生成的只读文件,不可更改此文件。R文件其作用:是定义项目中所有资源的索引文件。
1.2 AndroidManfest.xml 如下:
package=“Android.Summary” //引用程序包名 android:versionCode=“1” android:versionName=“1.0”> //应用程序名字 找工作,上长沙英才网
1.3 String.xml如下:
Resources r = this.getContext().getResources();//通过Context的getResource()实例化一个Resources对象
String app_name =((String)r.getString(R.string.app_name));//然后通过getString()方法取得指定的索引的字符串。项目中所有常量都可以在String.xml文件中定义
String hello =((String)r.getString(R.string.hello));
1.4 main.xml如下:
找工作,上长沙英才网
android:orientation=“vertical” //版面配置的方式。此为自上到下为垂直配置,“horizontal”为水平配置 android:layout_width=“fill_parent” //定义当前视图在屏幕上所占的宽度,“fill_parent”为填充整个屏幕宽度 /*android:layout_weight=“50”*/ //用于给一个布局中多个视图的重要度赋值 android:layout_height=“fill_parent” //定义当前视图在屏幕上所占的高度,...........................高度 > android:text=“@string/hello” //在视图上显示的内容,此处引用了@String中的hello字符串 />
1.5 src下的java 如下: package Android.Summary;
import android.app.Activity;import android.os.Bundle;
public class SummaryActivity extends Activity { //继承自Activity /** Called when the activity is first created.*/ @Override
找工作,上长沙英才网
public void onCreate(Bundle savedInstanceState){ //重写onCreate()方法
super.onCreate(savedInstanceState);setContentView(R.layout.main);//设置要显示的布局 } } 第二章
2.1 Android应用程序由四个模块组成:Activity,Service,Intent,ContentProvider(注意:一个应用程序不一定包含全部的四个模块).在使用时必须在AandroidManfest中进行声明。
Activity可以理解为用户看到屏幕,主要用于处理应用程序的整体性工作。如: a.监听系统事件,触屏事件,为用户显示指定的View,启动其他Activity等。b.所有应用的Activity都继承于android.app.Activity,该类是Android提供的基层类。
c.一个Activity通常就是一个单独的屏幕。d.每一个活动都被实现为一个独立的类。e.大多数的应用程序都是由多个Activity组成。
Intent Aandroid中主要用Intent类实现从一个Activity跳转到另一个Activity。在Intent的描述结构中,有两个重要的部分:动作和对应的数据。
典型的动作有MAIN,VIEW,PICK,EDIT.而动作对应的数据则以URI的形式表示。例如:要查一个人的联系方式,需要创建一个动作类型View的Intent ,以及一个表示这个人的URI.Intent的使用:
button1.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ Intent intent = new Intent();//创建一个Intent对象
intent.setClass(Activity01.this,Activity02.class);//指明要启动的另一Activity02 startActivity(intent);//启动一个新的Activity
找工作,上长沙英才网
Activity01.this.finish();//关闭当前Activity01 } });这里需要注意在Android中对新启动的Activity进行声明。声明方式: //注意:如果在不同的包中在声明是还要加上包名
IntentReceiver 如果希望Android应用能够对外部事件(如电话打入时,数据网络可用时,)做出响应,可用使用IntentReceiver.虽然IntentReceiver在如上事件发生
时会使用NotificationManager通知用户,但它并不能生产UI。IntentReceiver可以在AndroidManifest.xml中注册,也可在代码中使用Context.registerReceiver 进行注册。当IntentReceiver被触发时,系统会在需要的时候启动应用。各种应用还可以通过ContentReceiver()将他们自己的IntentReceiver广播出去。???????
Content Provider 作用:主要用于不同应用程序中的数据的传递。Content Provider 是一个特殊的存储数据的类型。Android自身提供现成的Content Provider:Contacts ,Browser,CallLog,Settings,MediaStore 应用可用通过唯一的ContentResolver界面来使用具体的Conten Provider,然后可以用ContentResolver提供的方法来使用你需要的Content Provider 其中,ContentResolver提供的方法有query(),insert(),update()等。URI----String形式的Content Provider的完整路径。
下面这个这个例子通过ContentProvider获取电话本中的数据,然后显示到TextView中去。
public class Activity01 extends Activity{ public void onCreate(Bundle savedInstanceState){
找工作,上长沙英才网
TextView textView = new TextView(this);//得到TextView对象 String string = “";super.onCreate(savedInstanceState);
ContentResolver resolver = getContentResolver();//得到ContentResolver对象 Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);//取得电话本中开始一项的光标,通过query方法查询出符合标准的电话本记录 //向下移动光标
while(cursor.moveToNext()){ //取得联系人名字
int name_index = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);String name = cursor.getString(name_index);//取得电话号码
int number_index = cursor.getColumnIndex(PhoneLookup.NUMBER);String number = cursor.getString(number_index);
string +=(name+”:“+number+”n“);} cursor.close();textView.setText(string);//设置TextView显示的内容
setContentView(textView);//显示到屏幕上 其实TextView也是View的一种 } } 注意:在使用这些模块中用到了读取联系人的API,所以必须在AndroidManifest.xml中声明
声明方式为:
找工作,上长沙英才网
Service 后台服务,没有界面
启动service方法: a.Context.startService()b.Context.bindService()//与上一种方法不同处 如果这个Service没有处于启动状态,则将其启动
下面这个例子以Activity中的俩个控件来控制播放一首Mp3.(例中:需要在res文件夹中创建一个raw文件夹 然后放入一首MP3)
public class Activity01 extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);
//从main.xml布局中获得Button对象
Button button_start =(Button)findViewById(R.id.start);Button button_stop =(Button)findViewById(R.id.stop);//设置按钮(Button)监听
button_start.setOnClickListener(start);button_stop.setOnClickListener(stop);} //开始按钮
private OnClickListener start = new OnClickListener(){ public void onClick(View v){ //开启Service startService(new Intent(”com.yarin.Android.MUSIC“));} };//停止按钮
找工作,上长沙英才网
private OnClickListener stop = new OnClickListener(){ public void onClick(View v){ //停止Service stopService(new Intent(”com.yarin.Android.MUSIC“));} };}
public class MusicService extends Service{ //MediaPlayer对象
private MediaPlayer player;
public IBinder onBind(Intent arg0){ return null;} public void onStart(Intent intent, int startId){ super.onStart(intent, startId);//这里可以理解为装载音乐文件
player = MediaPlayer.create(this, R.raw.test);//开始播放 player.start();}
public void onDestroy(){ super.onDestroy();//停止音乐-停止Service player.stop();} }
AndroidManifest.xml文件中
找工作,上长沙英才网
2.2 Aandrod的生命周期
public class Activity02 extends Activity{ private static final String TAG = ”Activity02“;
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main2);Log.v(TAG, ”onCreate“);} public void onStart(){ super.onStart();Log.v(TAG, ”onStart“);} public void onResume(){ super.onResume();Log.v(TAG, ”onResume“);} public void onPause(){ super.onPause();Log.v(TAG, ”onPause“);} public void onStop(){ super.onStop();Log.v(TAG, ”onStop“);
找工作,上长沙英才网
} public void onDestroy(){ super.onDestroy();Log.v(TAG, ”onDestroy“);} public void onRestart(){ super.onRestart();Log.v(TAG, ”onReStart“);} } 这些方法都是系统自动调用的。
第三章 3.1 事件处理
* 控件事件通过设置其控件的监听器来监听并处理事件 * 按键按下事件:通过重写onKeyDown方法 * 按键弹起事件:通过重写onKeyUp方法 * 触笔点击事件:通过实现onTouchEvent方法 * 示例中使用了Toast控件:
* Toast.makeText(this, string, Toast.LENGTH_SHORT).show();
public class Activity01 extends Activity{
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);//获得Button对象
Button button_ok =(Button)findViewById(R.id.ok);
找工作,上长沙英才网
button_ok.setOnClickListener(new Button.OnClickListener(){------------------------//设置Button控件监听器
public void onClick(View v){ //这里处理事件
DisplayToast(”点击了OK按钮“);} });}
/* 按键按下所触发的事件*/ public boolean onKeyDown(int keyCode, KeyEvent event){ switch(keyCode){ case KeyEvent.KEYCODE_DPAD_CENTER: DisplayToast(”按下:中键“);break;case KeyEvent.KEYCODE_DPAD_UP: DisplayToast(”按下:上方向键“);break;case KeyEvent.KEYCODE_DPAD_DOWN: DisplayToast(”按下:下方向键“);break;case KeyEvent.KEYCODE_DPAD_LEFT: DisplayToast(”按下:左方向键“);break;case KeyEvent.KEYCODE_DPAD_RIGHT: DisplayToast(”按下:右方向键“);break;} return super.onKeyDown(keyCode, event);}
找工作,上长沙英才网
/* 按键弹起所触发的事件*/ public boolean onKeyUp(int keyCode, KeyEvent event){ switch(keyCode){ case KeyEvent.KEYCODE_DPAD_CENTER: DisplayToast(”弹起:中键“);break;case KeyEvent.KEYCODE_DPAD_UP: DisplayToast(”弹起:上方向键“);break;case KeyEvent.KEYCODE_DPAD_DOWN: DisplayToast(”弹起:下方向键“);break;case KeyEvent.KEYCODE_DPAD_LEFT: DisplayToast(”弹起:左方向键“);break;case KeyEvent.KEYCODE_DPAD_RIGHT: DisplayToast(”弹起:右方向键“);break;} return super.onKeyUp(keyCode, event);} //用于响应按键重复点击,官方API指出onKeyMultiple方法总是返回false,即它没有handle,因此必须重写才能实现-------------------此方法没用过具体情况怎么样不是很清楚?
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event){
return super.onKeyMultiple(keyCode, repeatCount, event);}
/* 触笔事件*/
找工作,上长沙英才网
public boolean onTouchEvent(MotionEvent event){ int iAction = event.getAction();//利用getAction得到所执行的动作 if(iAction == MotionEvent.ACTION_CANCEL || iAction == MotionEvent.ACTION_DOWN || iAction == MotionEvent.ACTION_MOVE){ return false;} //得到触笔点击的位置 int x =(int)event.getX();int y =(int)event.getY();//将获得的坐标转成String类型的方法 DisplayToast(”触笔点击坐标:(“+Integer.toString(x)+”,“+Integer.toString(y)+”)“);
return super.onTouchEvent(event);}
/* 显示Toast */ public void DisplayToast(String str){ Toast.makeText(this, str, Toast.LENGTH_SHORT).show();} } 我们分析了一些常用事件处理方式。每一个键都对应一个键值。当然也可根据需要来改变一些键的功能,需要我们自己构建KeyEvent对象------------------有待进一步学习
构造KeyEvent对象的几种方法: KeyEvent(int action,int code);KeyEvent(long DownTime,long EventTime,int action,int code,int repeat);KeyEvent(long DownTime,long EventTime,int action,int code,int repeat,int metState);
找工作,上长沙英才网
KeyEvent(long DownTime,long EventTime,int action,int code,int repeat,int metState,int device,int scancode);KeyEvent(long DownTime,long EventTime,int action,int code,int repeat,int metState,int device,int scancode,int flags);KeyEvent(KeyEvent origEvent,long EventTime,int newRepart);例:
public class Activity01 extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);} public boolean onKeyDown(int keyCode, KeyEvent event){ //这里构建KeyEvent对象,其功能为返回键的功能 //因此我们按任意键都会执行返回键功能
KeyEvent key = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
//这里传入的参数就是我们自己构建的KeyEvent对象key return super.onKeyDown(key.getKeyCode(), key);} } 3.2 常用控件 Button xml设计
代码设计Button button = new Button(this);
找工作,上长沙英才网
button.setText(”我是Button“);button.setWidth(123);//设置宽度 button.setHeight(123);//设置高度
button.setTextColor(Color.BLUE);//设置文字颜色 button.setTextSize(123);//设置字体大小
button.setBackgroundColor(Color.BLUE);//设置控件背景色
监听器
button.setOnClickListener(new Button.OnClickListener(){//设置按钮的事件监听
public void onClick(View v){ //处理按钮事件产生一个Toast.利用button.getText()得到按钮显示的内容
Toast toast = Toast.makeText(Activity01.this, ”你点击了““+button.getText()+””按钮!“, Toast.LENGTH_LONG);//设置toast显示的位置
toast.setGravity(Gravity.TOP, 0, 150);//显示该Toast toast.show();} });-TextView 一个用来显示文本的控件 xml设计 找工作,上长沙英才网 android:text=”你好“/> android:paddingLeft=”50px“ android:paddingTop=”5px“ android:paddingBottom=”5px“ android:textSize=”30sp“ android:singleLine=”true“ android:layout_below=”@id/imageView_handler“//在什么下 android:gravity =”left“ //用于设置View中内容相对于View组件的对齐方式,android:layout_gravity//用于设置View组件相对于Container的对齐方式。 android:paddingLeft=”30px“ // 按钮上设置的内容离按钮左边边界30个像素 android:layout_marginLeft=”30px“ //整个按钮离左边设置的内容30个像素 android:layout_weight=”1“//控件权重 即占的比例 默认值为0 android:gravity=”center_horizontal“//水平居中 android:padding=”3dip“ 代码设计TextView textView = new TextView(this);//声明对象 textView.setTextColor(Color.RED);//设置字体颜色 textView.setTextSize(20);//设置字体大小 textView.setBackgroundColor(Color.BLUE);//控件背景色 textView.setText(”你好“)//显示的文字 textView.setHeight textView.setWidth textView.setVisibility(GONE/VISIBLE);//设置为不可见/可见 textView.setGravity(Gravity.CENTER);//设置文字权重 找工作,上长沙英才网 监听器TextView textView = new TextView(this);//得到对象 textview.setOnClickListener(new TextView.OnClickListener(){------------TextView监听器 public void onClick(View v){ } });---ImageButton 带图标的按钮 xml设计 代码中设计 imageButton.setImageDrawable(getResources().getDrawable(R.drawable.image2));//在代码中设计使用的图片(得到对象后) 监听器 imageButton.setOnClickListener(new Button.OnClickListener(){--------------ImageButton监听器 @Override public void onClick(View v){ //创建对话框 Dialog dialog = new AlertDialog.Builder(ImageButton_Dialog.this) 找工作,上长沙英才网 .setTitle(”ImageButton2“).setMessage(”跳转到系统图片“).setPositiveButton(”确定“, new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which){ // TODO Auto-generated method stub imageButton2.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_action_call));} }).create();dialog.show();} });---EditText xml设计 代码设计EditText editText = new EditText(this);//得到EditText对象 editText.setTextSize(20);//设置字体大小 找工作,上长沙英才网 editText.setHint(”请输入账号“);//设置当m_EditText中为空时提示的内容 监听器 editText.setOnKeyListener(new EditText.OnKeyListener(){----------EditText监听器 @Override public boolean onKey(View arg0, int arg1, KeyEvent arg2){ // 得到文字,将其显示到TextView中 m_TextView.setText(”文本框中内容是:“ + m_EditText.getText().toString());return false;} });--------------------CheckBox 多项选择 需要对没有按钮设置监听器 xml设计 checkBox1.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener(){//对每个选项设置事件监听-------------------CheckBox监听器 @Override 找工作,上长沙英才网 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){ if(m_CheckBox1.isChecked()){ DisplayToast(”你选择了:“+m_CheckBox1.getText());} } });----------------------Spinner 下拉列表 下面一个例子将可选内容通过ArrayAdapter和下拉列表连接起来。设置监听器 通过setVisibility方法设置当前显示项 main.xml 找工作,上长沙英才网 /> public class Activity01 extends Activity{ private static final String[] string = { ”O型“, ”A型“, ”B型“, ”AB型“, ”其他“ }; private TextView m_TextView;private Spinner m_Spinner;private ArrayAdapter @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main); m_TextView =(TextView)findViewById(R.id.TextView1);m_Spinner =(Spinner)findViewById(R.id.Spinner1); //将可选内容与ArrayAdapter连接 adapter = new ArrayAdapter //设置下拉列表的风格 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //将adapter添加到m_Spinner中 m_Spinner.setAdapter(adapter); //添加Spinner事件监听 找工作,上长沙英才网 m_Spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){--------------------------Spinner监听器 @Override public void onItemSelected(AdapterView> arg0, View arg1, int arg2, long arg3){ m_TextView.setText(”你的血型是:“ + string[arg2]);//设置显示当前选择的项 arg0.setVisibility(View.VISIBLE);} @Override public void onNothingSelected(AdapterView> arg0){ // TODO Auto-generated method stub });} } }---------RadioGroup , RadioButton 单选选择控件 一个单选选择由两部分组成,分别是前面的选择按钮和后面的内容。按钮通过RadioButton来实现,答案通过RadioGroup来实现 如果确定是选择哪一项那就要设置监听器setOnCheckedChangeListener.下面有一例子:本例中使用到了String.xml文件来定义常量。string.xml 找工作,上长沙英才网 main.xml 找工作,上长沙英才网 android:layout_width=”wrap_content“ android:layout_height=”wrap_content“ android:text=”@string/RadioButton1“ /> public class Activity01 extends Activity{ TextView m_TextView;RadioGroup m_RadioGroup;RadioButton m_Radio1, m_Radio2, m_Radio3, m_Radio4; @Override 找工作,上长沙英才网 public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main); m_RadioGroup =(RadioGroup)findViewById(R.id.RadioGroup01);//获得RadioGroup对象 m_Radio1 =(RadioButton)findViewById(R.id.RadioButton1);//获得4个RadioButton对象 m_Radio2 =(RadioButton)findViewById(R.id.RadioButton2);m_Radio3 =(RadioButton)findViewById(R.id.RadioButton3);m_Radio4 =(RadioButton)findViewById(R.id.RadioButton4); /* 设置事件监听 */ m_RadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){---------------------------RadioGroup监听器 @Override public void onCheckedChanged(RadioGroup group, int checkedId){ if(checkedId == m_Radio2.getId()){ DisplayToast(”正确答案:“ + m_Radio2.getText()+ ”,恭喜你,回答正确!“);}else{ DisplayToast(”请注意,回答错误!“);} } });} public void DisplayToast(String str)//显示Toast{ Toast toast = Toast.makeText(this, str, Toast.LENGTH_LONG);//设置toast显示的位置 找工作,上长沙英才网 toast.setGravity(Gravity.TOP, 0, 220);//显示该Toast toast.show();} }--------------AutoCompletTextView 和MultiAutoCompleteTextView 作用:自动提示 下面例中用到了ArrayAdapter autoCompletTextView.xml //如何实现如果输入的字符不在其范围内的也能得到提示 是继承TextWatcher? 找工作,上长沙英才网 public class Control_Auto extends Activity { //implements TextWatcher{} public TextView textView_auto; private static final String[] string ={”ni hao“,”ni hao “,”ni hao ma“,”ni zheng de hao ma“,”nshis“}; public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.autocompletetextview); //将可选内容与适配器ArrayAdapter连接 ArrayAdapter MultiAutoCompleteTextView multiAutoCompletTextView =(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView);AutoCompleteTextView autoCompleteTextView =(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView); autoCompleteTextView.setAdapter(adapter);//将adapter添加到AutoCompletTextView中去 multiAutoCompletTextView.setAdapter(adapter);//将adapter添加到MultAutoCompleteTextView中去 multiAutoCompletTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());} } 找工作,上长沙英才网 /* //autoCompleteTextView.addTextChangedListener(this);---此为设置监听? * 例子中没有涉及到的属性(可在布局文件中设置): AutoCompleteTextView是EditText的子类,所以你可以对它的对象进行诸如外观/字体/颜色等属性值的设置。 completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。 dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。 dropDownSelector:应该是设置自动提示的背景色之类的。 dropDownWidth:设置自动提示列表的宽度。 你可以通过setAdapter()来给AutoCompleteTextView添加一个包含候选值列表的适配器(adapter)。--------此处没实现过? 然而,由于用户可以输入一些不在候选值列表的数据,AutoCompleteTextView不支 持selection listener。不过,你可以注册一个TextWacther用于当用户输入文本发生变化时发出通知。 -------------------------DatePicker,TimePicker 日期和时间 下例中首先需要在布局文件中定义DatePicker和TimePicker,然后通过Canlendar类获得系统时间,接着通过init方法将日期传给DatePicker, 并设置OnDateChangedListener来监听日期改变,当时间被改变时需要设置setOnTimeChangedListener监听来设置时间。datepicker_timepicker.xml 找工作,上长沙英才网 > 找工作,上长沙英才网 public class Date_Time extends Activity{//如何实现日期随系统不断变化?要联网才能实现?如何变换DatePicker和TimePicker样式(如颜色,图片等)? Calendar calendar;TextView textView_date_time;Button button_date_time1;Button button_date_time2;DatePicker datePicker;TimePicker timePicker;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.datepicker_timepicker);calendar = Calendar.getInstance();//得到日历对象 textView_date_time =(TextView)findViewById(R.id.textView_date_time1);button_date_time1 =(Button)findViewById(R.id.button_date_time1);button_date_time2 =(Button)findViewById(R.id.button_date_time2);datePicker =(DatePicker)findViewById(R.id.datePicker);timePicker =(TimePicker)findViewById(R.id.timerPicker); button_date_time1.setWidth(50);button_date_time1.setHeight(60);button_date_time1.setTextColor(Color.BLUE); timePicker.setIs24HourView(true);//设置为24小时制 //将日历初始化为当前系统日期,并设置监听器 datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),-------------DatePicker监听器 找工作,上长沙英才网 calendar.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener(){//OnDateChangedListener监听日期的变化 @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){ //设置日期 calendar.set(1987,10,15);} }); timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener(){------------TimePicker监听器 @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute){ //设置时间 //calendar.set(1987,10,29,23,23,23);//年 月 日 小时 分钟 秒 textView_date_time.setText(”当前时间:“+hourOfDay+” : “+minute);} }); button_date_time1.setOnClickListener(new Button.OnClickListener(){//日期的监听---------------------------Button控件中设置DatePicker监听器 找工作,上长沙英才网 @Override public void onClick(View v){ new DatePickerDialog(Date_Time.this,new DatePickerDialog.OnDateSetListener(){ @Override public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth){ //设置日历 textView_date_time.setText(”农历“+year+” 年“+monthOfYear+” 月“+dayOfMonth+” 日“);} },calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();} }); button_date_time2.setOnClickListener(new Button.OnClickListener(){//时间的监听器----------------------------Button控件中设置TimePicker监听器 @Override public void onClick(View v){new TimePickerDialog(Date_Time.this, new TimePickerDialog.OnTimeSetListener(){ @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute){ //设置时间 找工作,上长沙英才网 textView_date_time.setText(”北京时间:“+hourOfDay+” : “+minute);} },calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),true).show();}});} } ---------------Menu 操作应用程序的菜单选项 第一个例子:通过XML文件来实现 menu_com.xml
public class Menu_Xml extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.此为所以显示的界面id);} public boolean onCreateOptionsMenu(Menu menu){//创建menu MenuInflater inflater = getMenuInflater();//设置menu界面
inflater.inflate(R.layout.menu_com, menu);
找工作,上长沙英才网
return true;} public boolean onOptionsItemSelected(MenuItem item){//处理菜单事件 switch(item.getItemId()){ case R.id.about: Menu_Xml.this.finish();case R.id.skip: Intent intent = new Intent();intent.setClass(Menu_Xml.this, Menu_add.class);//跳转到Menu_add中去
startActivity(intent);Menu_Xml.this.finish();} return true;} } =============== 第二个例子:在代码中生成Menu 此例中包含俩个方法 注意区分注释掉的为另一种增加Menu的方法
public class Menu_add extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.toast);} public boolean onCreateOptionsMenu(Menu menu){//创立menu /*为Menu添加内容参数:Menu.add()方法第一个参数表示给这个新增的菜单项分配一个分组号;
* 第二个参数表示给这个新增的菜单项分配一个唯一标识id;第三个参数为菜单项的序号;
找工作,上长沙英才网
* 第四个参数为菜单项的标题。
我们可以通过调用Menu.setItemShown()或者Menu.setGroupShown()方法来显示或隐藏一些菜单项。
这里要注意的一个地方是:菜单项的显示顺序是按代码中添加的顺序来的,也就是说Menu.add()方法
只能在菜单的最后面新增一个菜单项。另外,第一个参数的分组标识,不会改变菜单项的显示顺序。
方法一:
//menu.add(0,0,0,R.string.menu1);方法一 //menu.add(0,1,1,R.string.menu2);方法二:
SubMenu subMenu = menu.addSubMenu(1, 1, 2, ”选项“);//此方法和menu方法类似
subMenu.add(13,13,13, ”到Content_Menu“);subMenu.add(13,24,24,”到Menu_Xml“);
return true;} public boolean onOptionsItemSelected(MenuItem item){//处理Menu事件 switch(item.getItemId()){//getItemId()得到菜单项的ID,即上面的第二个参数 case 13: Intent intent1 = new Intent();intent1.setClass(Menu_add.this, Context_Menu.class);startActivity(intent1);Menu_add.this.finish();case 23: Intent intent = new Intent();intent.setClass(Menu_add.this, Menu_Xml.class);//跳转到其他界面中去
找工作,上长沙英才网
startActivity(intent);Menu_add.this.finish();break;} return true;} } ============== 第三个例子:Context Menu的创建:
概述:Android 的上下文菜单类似于PC 上的右键菜单。当为一个视图注册了上下文菜单之后,长按(2 秒左右)这个视图对象就会弹出一个浮动菜单,即上下文菜单。任何视图都可以
注册上下文菜单,不过,最常见的是用于列表视图ListView的item。
注意:Android 的上下文菜单不支持图标或快捷键。
创建一个上下文菜单的步骤:
1.覆盖Activity 的onCreateContenxtMenu()方法,调用Menu 的add 方法添加菜单项(MenuItem)。
2.覆盖Activity 的onContextItemSelected()方法,响应上下文菜单菜单项的单击事件。
3.调用registerForContextMenu()方法,为视图注册上下文菜单。menu_com2.xml
找工作,上长沙英才网
public class Context_Menu extends Activity{ public TextView textView_context_Menu;public Button buttont_context_Menu;
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.menu_com2);textView_context_Menu =(TextView)findViewById(R.id.textView_context_Menu);buttont_context_Menu =(Button)findViewById(R.id.button_context_Menu);
registerForContextMenu(textView_context_Menu);registerForContextMenu(buttont_context_Menu);//这里的registerForContextMenu()也可以用下面的语句替代 //getContentView().setOnCreateContextMenuListener(this);}
找工作,上长沙英才网
//创建Context Menu public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo){ if(v==textView_context_Menu){ menu.setHeaderTitle(”这个是什么?“);menu.add(0,0,0,”苹果“);menu.add(0,1,1,”猕猴桃“);}else if(v==buttont_context_Menu){ menu.setHeaderTitle(”我知道是什么了!“);menu.add(2,2,2,”不是苹果“);menu.add(2,3,3,”就是猕猴桃“);} super.onCreateContextMenu(menu, v, menuInfo);} //菜单单击响应 @Override public boolean onContextItemSelected(MenuItem item){ //获取当前被选择的菜单项的信息 switch(item.getItemId()){ case 1: Toast toast=Toast.makeText(Context_Menu.this, ”你点击了“+textView_context_Menu.getText(), Toast.LENGTH_LONG);toast.setGravity(Gravity.TOP, 100, 300);toast.show();break;case 3: Toast toast1=Toast.makeText(Context_Menu.this, ”你点击了“+buttont_context_Menu.getText(), Toast.LENGTH_LONG);toast1.setGravity(Gravity.TOP, 100, 300);toast1.show();break;
找工作,上长沙英才网
} return true;} } ============== 第四个例子:动态Menu 此为动态Menu的实现,采用的是代码布局(非XML布局)。此种Memu用在什么情况下,具体该怎么做?
public class Trends_Menu extends Activity{ LinearLayout linearLayout;TextView textView;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);linearLayout = new LinearLayout(this);linearLayout.setBackgroundColor(android.graphics.Color.BLUE);//设置背景色
linearLayout.setOrientation(linearLayout.VERTICAL);//设置布局方向
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);textView= new TextView(this);//创建TextView对象 textView.setBackgroundColor(Color.YELLOW);//设置背景颜色 textView.setText(”Trends_Men“);textView.setTextSize(50);//textView.setHeight(50);//textView.setWidth(100);textView.setTextColor(Color.RED);//设置字体颜色
找工作,上长沙英才网
linearLayout.addView(textView,params);//将textView添加到linearLayout中去
setContentView(linearLayout);//设置ui布局 } public boolean onPrepareOptionsMenu(Menu menu){ String string = textView.getText().toString();if(string.equals(”Trends_Menu“)){ menu.clear();//清掉菜单
MenuItem item = menu.add(0,1,1,”to Menu“);item.setIcon(android.R.drawable.alert_dark_frame);//android自带的图标 } if(string.equals(”Menu“)){ menu.clear();MenuItem item = menu.add(1,2,2,”to Trends_Menu“);item.setIcon(android.R.drawable.alert_light_frame);} menu.add(0,2,2,”Now is“+string);return super.onPrepareOptionsMenu(menu);} }
-------------ListView 一个用来显示列表的控件 xml设计
代码设计
第一个例子:
public class ListView3 extends ListActivity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);
找工作,上长沙英才网
String[] string={”华中科技“,”天龙大厦“,”科技园“,”天天乐园“};//string 是用来要存放的数据
//android.R.layout.simple_expandable_list_item_1为XML的配置文件, 用来设置列表中每一行的窗口 setListAdapter(new ArrayAdapter
* 在配置文件中要注意的是android:list 是系统自定义的不是随便可以取的,否则会出现找不到ListView ==================== 第二个例子: textView_chrild.xml 找工作,上长沙英才网 android:layout_height=”fill_parent“ android:paddingLeft=”50px“ android:paddingTop=”5px“ android:paddingBottom=”5px“ android:text=”no date“ android:textSize=”30sp“ />
找工作,上长沙英才网
找工作,上长沙英才网
map1.put(”list1“, ”map1“);map2.put(”list1“, ”map2“);list1.add(map1);list1.add(map2);//定义一个List,该List对象为第一个一级条目 提供数据 List
//定义一个List,该List对象用来存储所有二级条目对象 List>> list0 = new ArrayList
>>();list0.add(list21);list0.add(list31);
SimpleExpandableListAdapter simple = new SimpleExpandableListAdapter(找工作,上长沙英才网
this,//context list1,//一级条目数据
R.layout.expandable_group,//用来设置一级条目样式的布局文件 new String[]{”list1“}, //指定一级条目数据的Key new int[]{R.id.textView_group},//指定一级条目数据显示的控件id list0, //二级条目数据
R.layout.expandable_chrild,//用来设置二级条目样式的布局文件 new String[]{”list“}, //指定二级条目数据的Key new int[]{R.id.textView_chrild});//指定二级条目数据显示的控件id
setListAdapter(simple);//将SimpleExpandableListAdapter对象设置给当前的Activity } } ============================= 第三个例子:自定义ListView public class ImageTextView extends LinearLayout{ public TextView textView;public ImageView imageView;
public ImageTextView(Context context, String string,Drawable drawable){----* 注意这里并没用在xml定义控件
super(context);// TODO Auto-generated constructor stub this.setOrientation(VERTICAL);//设置为水平布局 imageView = new ImageView(context);imageView.setImageDrawable(drawable);imageView.setPadding(2, 5, 5, 0);//设置位置
addView(imageView,new LinearLayout.LayoutParams(40,30));
找工作,上长沙英才网
textView = new TextView(context);textView.setText(”title“);textView.setTextSize(20);addView(textView,new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,30));
textView = new TextView(context);textView.setText(”title“);textView.setTextSize(20);addView(textView,new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,30));} * 这是一个线性布局的View,其中包含一个TextView 和一个ImageView.* 且为垂直布局 }-----------------------public class ListCombinAdapter extends BaseAdapter{------------继承BaseAdapter 且必须重写五个函数 private Context wcontext;private List
public ListCombinAdapter(Context context){ this.wcontext=context;list = new ArrayList
找工作,上长沙英才网
} @Override public Object getItem(int position){ return list.get(position);//得到对象在List数组中的位置 } @Override public long getItemId(int position){ return(long)position;} public long getPosition(Object item){ return list.indexOf(item);//得到对象在list中的索引 } @Override public View getView(int position, View convertView, ViewGroup parent){//得到一个显示在屏幕上的View ImageTextView imageTextView;if(convertView == null){//判断原来的View是否存在 如果不存在利用ImageTextView创建一个View imageTextView = new ImageTextView(wcontext,(String)list.get(position).textView.getText(),list.get(position).imageView.getDrawable());}else{ imageTextView =(ImageTextView)convertView;//强制转型 imageTextView.textView = list.get(position).textView;imageTextView.imageView = list.get(position).imageView;} return imageTextView;} public void addItem(String text,Drawable drawable){ list.add(new ImageTextView(wcontext,text,drawable));//将创建好的ImageTextView对象加入到list中去
找工作,上长沙英才网
} }----------------------public class ListView4Activity extends ListActivity {//定制自己的adapter @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);//setContentView(R.layout.main);//不需要此项
ListCombinAdapter listCombinAdapter = new ListCombinAdapter(this);listCombinAdapter.addItem(”不知道此处的字符串起什么作用“,getResources().getDrawable(R.drawable.image2));listCombinAdapter.addItem(”不知道此处的字符串起什么作用“, getResources().getDrawable(R.drawable.image3));setListAdapter(listCombinAdapter);} } ===================== 第四个例子: simpleadapter2.xml 找工作,上长沙英才网 android:orientation=”horizontal“> 找工作,上长沙英才网 android:gravity=”right“ android:textSize=”10pt“ />
【dxp控件总结】相关文章:
网银安全控件安装说明04-17
页面未检测到控件运行04-21
自定义控件基础知识05-04
控件在PowerPoint中的应用04-24
浅谈LabVIEW中表格控件的使用09-20
WPS表格中控件工具箱的用处04-14
VBActiveX控件在InTouch数据库访问中的应用09-12
财务工作年度总结,总账总结、出纳总结04-12
转正总结个人总结07-30