导致事件的最深嵌套元素是事件的目标。你可以通过event.stopPropagation停止冒泡
image.png 问题现象: 当画面增加一个按钮,在输入框表示error状态下,按下按钮,error信息还是没有消失,即使在按下事件中已经设置了setCustomValidity()方法,还是没有起效
下面,我们来实现当鼠标移动到用户窗体按钮上时,会使用颜色高亮显示,让用户窗体更生动,如下图1所示。 ? 其实,你在图1中看到的按钮并不是用户窗体内置的传统命令按钮,而是使用图像控件来制作的。...由于图像是静态的,在运行时不能更改颜色,因此每个按钮都由两个图像组成,一个图像代表鼠标悬浮在按钮上的状态,另一个图像代表鼠标未悬浮在按钮上的状态。...,绿色按钮显示,白色按钮隐藏。...,绿色按钮显示,白色按钮隐藏。...但是,如果用户将鼠标放置在除这两个按钮之外的其他地方时,我们不希望这两个按钮显示绿色,因此要使用用户窗体的MouseMove事件: Private SubUserForm_MouseMove(ByVal
近期我们也在研究EasyRTC的新项目,测试时发现通过EasyRTC进入会议页面时,摄像头是被打开的,但是未显示视屏画面,内容如下:?
场景:在mid加载子窗体的时候如果指定WindowState为Maximized,加载完成后主窗体会显示最大化、最小化、关闭的按钮图标。 解决方法: 1.更改主窗体FormMain的属性。
一、认识AdapterViewFilpper AdapterViewFilpper 继承 了AdapterViewAnimator,它也会显示 Adapter 提供的多个 View 组件,但它每次只能显示一个...AdapterViewAnimator支持的XML属性如下: android:animateFirstView:设置显示组件的第一个View时是否使用动画。...android:inAnimation:设置组件显示时使用的动画。 android:loopViews:设置循环到最后一个组件时是否自动跳转到第一个组件。...android:outAnimation:设置组件隐藏时使用的动画。 AdapterViewFilpper额外支持的XML属性及相关方法如下表所示。...单击上一个或下一个按钮可以切换显示的组件,单击自动播放按钮,将可以看到AdapterViewFlipper每隔5秒更换一个图片,切换图片时会使用渐隐渐显效果。
使用ViewAnimator 时可以指定如下常见XML属性。 android:animateFirstView:设置ViewAnimator显示第一个View组件时是否使用动画。...,这两个按钮分别用于控制该ViewSwitcher显示上一屏、下一屏的程序列表。...} } } 重点在于为ViewSwitcher设置ViewFactory对象,并且当用户单击“”两个按钮时控制ViewSwitcher显示“上一屏”和“下一屏”的应用程序。...当用户单击按钮时,程序的事件处理方法将会控制ViewSwitcher调用showNext() 方法显示下一屏的程序列表。...运行程序,点击“”两个按钮时可以看到下图所示界面切换效果。 ?
在Android 程序之中,Activity 对象时和用户交互的唯一手段,几乎每个 Android 项目程序都有多个 Activity。因此,灵活的在屏幕上切换 Activity 尤为重要。...当然,我们也可以在创建Intent 对象时不传入要启动的 Activity 对象,即为隐式Intent。...android.intent.category.DEFAULT"/> SecondActivity 使用默认自带的代码就可以了 运行程序,单击按钮之后出现系统的选择框...单击“传送文本数据”按钮: ? 成功的显示,单击返回后再单击“传送图片数据”按钮: ? good,图片成功的显示,再单击返回后单击“传送自定义数据”按钮: ?...单击“传送大数据”按钮,并不会启动SecondActivity,我们打开LogCat: ? !!!
= getChildAt(i + 1); //获取子按钮下标 childView.setVisibility(View.VISIBLE); //显示子按钮...childView.setFocusable(false); //子按钮不可调焦 } } scaleSmallAnim ()方法 没有被单击的子按钮..." android:src="@drawable/img4" android:tag="按钮二" /> ImageView android:layout_width..." android:src="@drawable/img2" android:tag="按钮四" /> ImageView android:layout_width...= getChildAt(i + 1); //获取子按钮下标 childView.setVisibility(View.VISIBLE); //显示子按钮
首先CLAVPlayerView加载时需要将播放器layer添加到imageView的layer上,此时蒙版和底部工具条一定都是隐藏的,点击中间播放按钮,视频开始播放并隐藏播放按钮。...而当未播放状态时,点击imageView和中间播放按钮效果一样,开始播放视频。 添加定时器,5秒钟之后隐藏底部工具条,并提供移除定时器的方法。...的tap手势点击方法实现,这里分为几种情况,当视频未播放的时候,点击imageView不会显示工具栏,而是与点击中间播放按钮相同,开始播放视频,播放过程中点击imageView会显示工具栏,而如果此时点击了工具栏中的暂停按钮.../** imageView的tap手势方法 */ -(void)tapAction:(UITapGestureRecognizer *)tap { // 当未播放状态,点击imageView等同于点击中间播放按钮...重播按钮和全屏播放按钮的实现 在定时器每秒调用的更新Slider的方法中判断当视频播放完毕之后,显示遮盖View,而重播按钮的实现,其实就是将Slider的value置为0并重新调用点击Slider松开时的方法
先来看效果图: demo中有三个group item和多个child item,group item包括一个指示器,一个标题和一个按钮。...Override public Object getChild(int groupPosition, int childPosition) { //我们这里返回一下每个item的名称,以便单击...item时显示 return childMap.get(groupPosition).get(childPosition).getTitle(); } /* * 取得给定分组中给定子视图的...int groupPosition, int childPosition, long id) { Toast.makeText(MainActivity.this, "你单击了...,本来是打算,点击group中的此按钮弹出和长按group时弹出一样的上下文菜单,点击child上面的此按钮时也弹出相应的上下文菜单,但是此问题没能解决。
,往往既要显示虚拟键盘,同时还要显示应用程序的常用按钮,同时还要有一大部分空间需要预留给内容显示区域,这样手机界面就会显得比较拥挤,而手势操作则可以解决这种问题,使用手势操作,我们就无需在界面中为各个功能添加相应的按钮...在Android示例程序中自带了个名为GestureBuilder的程序,运行该程序会显示如图6.1.5所示的界面。单击【Add gesture】按钮就可以手动添加一个手势。...图6.1.5 Gestures Builder界面 图6.1.6 添加手势 在添加完手势,单击【Done】按钮之后,会创建一个手势,屏幕显示如下图6.1.8所示。...程序最终运行效果如下图6.1.5所示,其中上方是一个id为editText的文本输入框,用户可以通过这个输入框输入想要朗读的内容;下方是一个id为button的按钮,当我们单击【朗读文本】按钮时,模拟器会将我们在...当用户单击短信时手机会以语音的形式将短信的内容读取出来。 实现步骤 (1) 为用户接收短信后,增加状态栏提醒功能; (2) 为用户单击状态栏短信后添加事件响应:调用TTS完成短信信息的读取。
设置图片显示的属性 : -- image (普通) : 访问或设置该控件显示的图片; -- HighlightedImage (高亮) : 设置图片处于 高亮状态 时显示的图片; (3) 动画显示方法..., 按钮等信息, 按钮监听需要创建 UIAlertView 的 UIAlertViewDelegate 委托对象; -- 显示 UIAlertView : 调用显示 UIAlertView 的显示方法;..., buttonIndex 是点击的按钮的索引; -- "- (void) willPresentAlertView : (UIAlertView *) alertView" 方法 : 对话框将要显示时激发该方法...*) alertView willDissmissWithButtonIndex : (NSInteger) buttonIndex" 方法 : 单击某按钮将要隐藏警告框时激发该方法; -- "- (...按钮 UIActionSheet 固定按钮 : -- 取消按钮 : 灰色背景, 主要用于取消该 UIActionSheet 控件显示; -- 销毁按钮 : 红色背景, 用于删除某记录时, 使用该按钮确认销毁
// 初始化按钮上应该显示的数字 for (int i = 1; i < 13; i++) { Map map = new HashMap<String,...tvForget.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //单击忘记密码调用接口...view.findViewById(R.id.tv_pass6); //初始化键盘 gridView = (GridView) view.findViewById(R.id.gv_keybord); //设置键盘显示按钮到集合...setView(); // 必须要,不然不显示控件 addView(view); } //设置按钮显示内容 private void setView() { // 初始化按钮上应该显示的数字...convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } //设置按钮显示数字
在屏幕上提供一个ImageView和四个Button,当用户单击这些Button按钮时,依次实现“开始动画”、“停止动画”、“运行一次动画”、“代码中添加动画”的功能。...frameDrable.start(); } }); } } 在btn1按钮的单击事件中,我们实现了动画文件的装载、AnimationDrawable的构建及动画的播放功能。...(drawable); 在btn4按钮的单击事件中,我们先通过new关键字声明了一个AnimationDrawable对象,然后利用Java代码通过循环的方式为这个对象添加了一系列的静态图片。...在手机屏幕上显示一下上下移动的小球,用来模拟物体的自由下落:当小球从上到下移动时呈现加速状态,从下到上移动时呈现减速状态。...单击【开始动画】按钮后,小球就会在垂直方向上按照我们的设置上下移动,效果如下图2.1.3所示。
这种方式主要用于加载网络图片,以及实现少于3页时的无限轮播 mContentBanner.setAdapter(new BGABanner.AdapterImageView, String>()...R.drawable.uoko_guide_background_2, R.drawable.uoko_guide_background_3); 4.监听广告 item 的单击事件...」和「跳过按钮」控件资源 id 及其点击事件,如果进入按钮和跳过按钮有一个不存在的话就传 0,在 BGABanner 里已经帮开发者处理了防止重复点击事件,在 BGABanner 里已经帮开发者处理了「...跳过按钮」和「进入按钮」的显示与隐藏 mContentBanner.setEnterSkipViewIdAndDelegate(R.id.btn_guide_enter, R.id.tv_guide_skip...-- 当只有一页数据时是否显示指示器,默认值为 false --> <attr name="banner_isNeedShowIndicatorOnOnlyOnePage" format="boolean
3)天气显示信息左右活动切换已选择要显示的城市。 4)通过点击右上角的编辑按钮进入城市管理功能。 5)导航组件功能。 6)小时天气小时超出屏幕宽度时的当前页面左右滑动。...2、中间部分: *中间部分是已选择城市信息的显示,与编辑前不同的是增加了左侧拖动改变顺序的按钮和右侧的删除城市按钮 3、最下方部分: *最下面是一个添加城市的按钮,点击之后进入城市添加功能 所用到的功能点...3、城市管理界面中点击添加按钮进入到城市添加界面 4、城市管理界面中点击返回按钮回到城市天气信息显示界面 5、添加城市界面中添加完成或者点击返回按钮回到城市天气信息显示界面 6、系统总体和局部流程设计...– 非触摸模式下获得焦点并单击时的背景图片 –> item android:state_focused=“true” android:state_pressed=“true” android:drawable...– 触摸模式下单击时的背景图片–> item android:state_focused=“false” android:state_pressed=“true” android:drawable=“
Button与ImageButton Button是文本按钮(继承自TextView),而ImageButton是图像按钮(继承自ImageView)。...两者之间的区别在于: 1、Button即可显示文本也可显示图形(通过设置背景图),而ImageButton只能显示图形不能显示文本; 2、Button可在文本周围区域显示小图,而ImageButton...Button与ImageButton的单击方法是setOnClickListener,对应的监听器要实现接口View.OnClickListener。...xml布局上新加的属性设置: checked : 指定按钮的勾选状态,true表示勾选,false表示未勾选。 button : 指定左侧勾选图标的图形。...其实Switch就是个特殊UI的CheckBox,在选中与取消选中时,可展现的界面元素要比复选框要丰富些。 xml布局上新加的属性设置: textOn : 指定右侧开启时候的文本。
在桌面上添加桌面控件,可以按以下步骤: 长按手机桌面,然后单击屏幕右下角的“WIDGETS”按钮,系统进入如下图所示的Widget列表界面。 ?...-- minWidth:桌面控件的最小宽度 minHeight:桌面控件的最小高度 updatePeriodMillis:更新频率 initialLayout:初始时显示的布局...三.实现液晶时钟 ---- 程序界面包含8个ImageView,其中六个用于显示小时、分钟、秒钟的数字,另外两个用于显示冒号。...为了让桌面控件实时显示当前时间,需要每隔一秒更新一次界面上的六个ImageView,让它们显示当前小时、分钟、秒钟的数字即可。...所显示的液晶数字图片,这样就可以显示当前时间了。
在下面的 XML 中,我们使用了两个主要组件:ImageView 和 TextView。...ImageView android:id="@+id/imageView6" android:layout_width="273dp" android:layout_height="291dp" android...bold" tools:layout_editor_absoluteX="196dp" tools:layout_editor_absoluteY="246dp" /> TextView 元素用于向用户显示一些数据...大多数 ImageView 都用作用户与 UI 交互的按钮,但它们也需要实现屏幕上组件提供的事件。 用 TotalCross 整合 这个 PoC 中的第二项技术是 TotalCross。...例如,为了使用户能够改变家中或其他建筑物的温度,我们在 UI 底部放置了加号和减号按钮,并在每次单击按钮时都会出现“单击”事件,使温度升高或降低一度: Button plus = (Button) xmlCont.getControlByID