功能需求描述:
自定义了一个控件,当触发按钮事件后动画移出来,我可以做其他的操作、
但是除了触发特定按钮事件让其移回原来位置外,我还想实现点击屏幕的其他地方他也能消失。
就像实现点击其他地方,我们的软件盘自己消失一样的效果。
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
if (itemSearchView.getBolExpend()) {
/*
* Rect rect = new Rect(itemSearchView.getLeft(),
* itemSearchView.getTop(), itemSearchView.getRight(),
* itemSearchView.getBottom());
*
* if (!rect.contains((int) ev.getX(), (int) ev.getY())) {
* itemSearchView.setChangeShow(false); return false; }
*/
Rect rectwindow = new Rect();
itemSearchView.getWindowVisibleDisplayFrame(rectwindow);
int[] location = new int[2];
itemSearchView.getLocationInWindow(location);
Rect rect = new Rect(location[0], location[1], location[0] + itemSearchView.getWidth(), location[1] + itemSearchView.getHeight());
if (!rect.contains((int) ev.getRawX(), (int) ev.getRawY())) {
itemSearchView.setChangeShow(false);
return false;
}
}
return super.dispatchTouchEvent(ev);
}
//代码中itemSearchView是自定义控件。本方法重写了activity 中dispatchTouchEvent方法。
分享到:
相关推荐
这个压缩包文件名为“安卓动画效果相关-点击屏幕任何地方产生气泡效果界面比较简单可以自己任意更改简单易用.rar”,其内容主要是实现一个简单的功能:当用户点击屏幕上的任意位置时,会有一个气泡效果出现。...
为了实现点击窗口外部时窗口消失,我们需要监听屏幕的点击事件。这可以通过注册一个`OnTouchListener`到根布局来实现: ```java floatingView.setOnTouchListener(new View.OnTouchListener() { @Override public...
- 当用户点击屏幕时,应用程序需要捕获这一事件,获取点击位置的信息,然后根据这个位置生成圆形。 2. **图形绘制**: - 在Android中,可以使用`Canvas`类在`View`上绘制图形,比如圆形。`Paint`对象用于设置颜色...
在用户完成输入后,能够通过点击屏幕空白区域收起软键盘,而不是仅依赖返回键或下一步按钮,可以显著提升应用的易用性。本文将详细介绍如何实现这一功能。 首先,隐藏软键盘的基本方法是在Java代码中使用`...
这个效果通常应用于按钮、列表项或其他可点击的UI元素上,以提示用户他们的点击已被系统识别。 实现这一效果,Android提供了`android:background="?android:attr/selectableItemBackgroundBorderless"`属性,它可以...
6. 添加交互逻辑:在Dialog类中添加按钮点击事件或其他交互逻辑,以完成特定的功能。 通过以上步骤,我们可以创建一个完全自定义且带有动画效果的Dialog。自定义Dialog不仅提升了应用的用户体验,也是Android开发中...
在这个项目中,可能有专门的文字动画组件,封装了动画逻辑,方便其他地方复用。 6. **事件处理**:Unigui提供了一套完整的事件处理机制,开发者可以监听用户行为,如点击、滚动等,然后根据这些事件触发相应的文字...
为了实现动态效果,我们可以使用JavaScript动画库,如jQuery的animate方法,或者CSS3的transition和animation属性,让弹出层的出现、消失、内容更新等过程更加平滑流畅。同时,也可以通过动态加载地图数据,如根据...
5. **用户体验优化**:确保浮动层的关闭可以通过再次点击同一图标或点击页面其他地方来实现,这需要添加额外的事件监听和处理逻辑。 "点击图标按钮浮动展开"的这种功能在许多网页场景中都能看到,例如登录注册、...
在右下角消息提示中,我们可能需要将消息框从不可见状态逐渐移动到屏幕的右下角,或者从屏幕边缘滑入,这就需要用到`left`和`bottom`属性的动画,以及可能的透明度变化(`opacity`)。 2. **消息框的布局**:消息框...
首先,DialogFragment是Android支持库中的一个组件,它是Fragment的子类,这意味着它可以像Fragment一样管理生命周期,而Fragment的设计理念就是为了更好地处理屏幕旋转和其他配置更改。当我们使用AlertDialog时,...
3. **动画效果**:可以设置显示和消失的动画,提升用户体验。 4. **交互性**:用户可以直接通过点击CookieBar来执行预设的操作,如关闭消息或者跳转到特定页面。 5. **简单集成**:通过添加依赖项,开发者可以快速将...
8. **关闭PopWindow**:确保在适当的时候关闭PopWindow,例如用户点击其他地方或者执行了某些操作。可以通过`PopWindow.dismiss()`方法实现。 在实际开发中,你可能还需要处理一些细节问题,例如处理多线程获取数据...
6. **事件处理**:除了鼠标移动事件,还可能需要处理其他事件,如点击、触摸等,以控制星星月亮的显示和隐藏。 7. **性能优化**:由于这类特效可能涉及大量的计算和渲染,所以性能优化是关键。开发者需要考虑如何...
同样,可以设置一个隐藏菜单的槽函数,当用户选择菜单项或点击其他地方时,动画菜单逐渐消失。 4. **自定义视觉效果**:可以使用Qt的样式表(QSS)为菜单添加特定的背景、边框等视觉效果,使其更接近愤怒的小鸟的...
它支持多种类型的弹出动画,如平滑滑入、淡入淡出、缩放等,这使得弹框在出现和消失时有更丰富的视觉体验。此外,`JXPopupView`还允许自定义背景风格,包括半透明、纯色或渐变色,这样可以更好地融入到应用的整体...
动画包括点赞图标从屏幕底部向上移动到顶部消失的过程。 - 可以通过改变View的位置属性(如`translationY`)来实现上移效果。 - 添加多个点赞图标,随机分布在屏幕底部,以模拟多用户同时点赞的效果。 3. **UI...
这通常涉及到对用户事件的监听,例如点击屏幕其他地方时关闭弹出视图,或者当用户完成某个操作(如点击按钮)后隐藏它。可以使用`touchesBegan:withEvent:`方法来检测用户触摸屏幕的行为,并判断是否需要关闭弹出...
同样,`pop_out` 动画文件定义了`PopupWindow` 消失时的动画,这里可能包含了平移、缩放和透明度变化的动画效果,但给定的代码中只展示了缩放和平淡效果的部分。通常,退出动画会是相反的过程,比如视图从小变大并...
动画可以使菜单的显示和消失更加自然。可以使用`ObjectAnimator`或者自定义动画实现滑入、滑出的效果,提升用户体验。 6. **适配不同设备**: 考虑到不同设备的屏幕尺寸和分辨率,需要确保PopWindow能够自适应...