- 浏览: 124763 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
kingbinchow:
android:tonghuaguanxin 写道请问,这个属 ...
修改EditText的光标颜色 -
tonghuaguanxin:
请问,这个属性在代码中如何设置?
修改EditText的光标颜色
FloatButton fb = new FloatButton(this); fb.show(); fb.setClickActionListener(new ClickActionListener(){ @Override public void onClickAction() { }});
import android.content.Context; import android.graphics.drawable.Drawable; import android.util.Log; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.view.ViewConfiguration; import android.view.WindowManager; import android.widget.ImageView; import com.pingan.haoche.app.R; /** * * float button in window * <p> * Need implement ClickActionListener for response click event * <p> * @author Kingz 2015-4-14 * */ public class FloatButton implements OnTouchListener { private Context mContext; private ImageView mFloatContent; private boolean mIsShowing; private int mImageWidth; private int mImageHeight; private WindowManager mWindowManager; private WindowManager.LayoutParams mWinManagerParams; private int touchSlop; private ClickActionListener clickActionListener; public FloatButton(Context context) { mContext = context; mWindowManager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); touchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); creatFloatView(); createParams(); } private void creatFloatView() { mFloatContent = new ImageView(mContext); Drawable fudr = mContext.getResources().getDrawable( R.drawable.floatbutton); mImageWidth = (int) (fudr.getIntrinsicWidth()); mImageHeight = (int) (fudr.getIntrinsicHeight()); mFloatContent.setImageDrawable(fudr); mFloatContent.setVisibility(View.INVISIBLE); mFloatContent.setOnTouchListener(this); mFloatContent.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { clickActionListener.onClickAction(); } }); } private void createParams() { int dY = 10; mWinManagerParams = new WindowManager.LayoutParams(); mWinManagerParams.type = WindowManager.LayoutParams.TYPE_APPLICATION; mWinManagerParams.format = android.graphics.PixelFormat.TRANSPARENT; mWinManagerParams.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; mWinManagerParams.flags |= WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH; mWinManagerParams.gravity = Gravity.LEFT | Gravity.BOTTOM; mWinManagerParams.x = mDisWid - dY - mImageWidth; mWinManagerParams.y = dY + mImageHeight; mWinManagerParams.width = 75; mWinManagerParams.height = 75; } private float mTouchStartX; private float mTouchStartY; private float x; private float y; private boolean hasMoved = false; private int lasteventX = 0; private int lasteventY = 0; private int mContainerHeight = 0; private int mDisWid; @Override public boolean onTouch(View v, MotionEvent event) { x = event.getRawX(); y = event.getRawY(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { hasMoved = false; mTouchStartX = event.getX(); mTouchStartY = event.getY(); lasteventX = (int) (x - mTouchStartX); lasteventY = (int) (y - mTouchStartY); mContainerHeight = lasteventY + mWinManagerParams.y; break; } case MotionEvent.ACTION_MOVE: { updateViewPosition(); break; } case MotionEvent.ACTION_UP: { mTouchStartX = mTouchStartY = 0; if (hasMoved) { return true; } break; } } return false; } private void updateViewPosition() { int touchX = (int) (x - mTouchStartX); int touchY = (int) (y - mTouchStartY); int step = touchSlop; if (hasMoved || Math.abs(lasteventX - touchX) > step || Math.abs(lasteventY - touchY) > step) { mWinManagerParams.x = touchX; mWinManagerParams.y = mContainerHeight - touchY; mWindowManager.updateViewLayout(mFloatContent, mWinManagerParams); hasMoved = true; lasteventX = touchX; lasteventY = touchY; } } public void show() { if (mIsShowing) { return; } mFloatContent.setVisibility(View.VISIBLE); if (mWindowManager != null && !mIsShowing) { mWindowManager.addView(mFloatContent, mWinManagerParams); mIsShowing = true; } } public interface ClickActionListener{ void onClickAction(); } public void setClickActionListener(ClickActionListener listener){ clickActionListener = listener; } }
发表评论
-
android studio debug 一直加载so文件
2017-06-24 16:15 574以前在debug时,一直很快就可以成功,但最近电脑卡,加上更新 ... -
心形vector drawable
2016-04-21 10:44 608<vector xmlns:android ... -
Gridview的第一个Item点击没反应,点击其他的item OK
2015-08-07 14:56 1666遇到一个前人挖下的大坑,各种没响应的呀,后来发现以下代码有问题 ... -
Android 常见错误处理
2015-04-03 16:03 9631.could not find "com.baid ... -
Android GirdView 最后一行显示不完整
2015-03-20 18:19 3493Android GridView 设置wrap_content ... -
import android eclipse project to android studio
2014-11-13 11:09 923Export from Eclipse 1.Update y ... -
关于android应用退出的问题(转)
2014-10-06 15:48 1248看到很多关于应用退出的问题,今天在这里为大家简单总结一下,如果 ... -
Canvas.drawTextOnPath 2D绘图
2014-07-23 17:18 704绘制文字效果,如下图 protected void onD ... -
android SAX parse xml
2014-07-17 16:22 623<?xml version="1.0&qu ... -
自定义menu,用PopupWindow截获KeyEvent
2014-07-17 15:49 1247public boolean onKeyDown(int ke ... -
Android 自动结束本层activity,回退到上一层 的intent 设置
2014-06-27 13:08 1994Intent intent = new Intent(); ... -
Android Custom View , can not use custom tag in xml file
2014-06-27 13:04 611add this line: xmlns:custom=&qu ... -
onMeasure()--典型视图度量时间
2013-02-18 15:42 984@Override protected void onMe ... -
AsynTask
2013-02-07 16:25 712... -
修改EditText的光标颜色
2013-01-29 15:02 4175在使用EditText的XML 文件中加入一个属性: and ... -
PopupWindow 的BadTokenException
2012-11-05 15:10 1326进入Activity就弹出PopupWindow 来,结果编译 ... -
android sqlite3 数据类型
2012-08-20 09:54 7099sqlite3中的数据类型 大多数的数据库引擎(到现在据我 ... -
android 入门xml布局文件--转
2012-07-10 15:58 912LinearLayout和RelativeLayout共有属性 ... -
Syntax error, static imports are only available if source level is 1.5
2012-06-05 10:20 1587Question: 工程之前一直正常运行,今早上 突然报出 S ... -
android--JNI (转)
2012-05-29 12:14 965The JNI is designed to handle s ...
相关推荐
通过以上步骤,我们可以成功地在 Android 设备上实现一个仿 iOS 的 AssistiveTouch 功能。这一功能不仅可以方便用户快速访问常用操作,还可以根据个人需求进行定制,大大提升了手机的可操作性和个性化程度。在实际...
在Android开发中,实现一个类似iOS的Assistive Touch功能是一项常见的需求,它提供了一个浮动按钮,用户可以随时随地拖动并访问常用的功能。这个“android 可拖拽按钮 类似iOS assistive touch可全屏拖拽”的项目...
【标题】"仿苹果悬浮Assistive Touch按键"是一个针对Android平台的应用开发示例,它模仿了苹果iOS系统中的Assistive Touch功能。在iOS中,Assistive Touch是一个内置的辅助工具,允许用户通过屏幕上的浮动按钮快速...
【iOS AssistiveTouch简仿】是一个关于iOS应用开发的话题,主要关注的是如何在自定义的用户界面中实现类似苹果设备上的AssistiveTouch功能。AssistiveTouch是iOS系统内置的一项辅助功能,它提供了一个浮动的虚拟按钮...
总的来说,创建一个仿 AssistiveTouch 的悬浮窗涉及到了Android的权限管理、窗口管理、自定义View以及事件处理等多个核心知识点。通过实践和学习这些概念,开发者可以构建出更加高效、便捷的用户体验。
【标题】"仿AssistiveTouch,修改转发android" 是一个关于在Android平台上创建类似苹果设备上的AssistiveTouch功能的开发项目。AssistiveTouch是iOS系统中的一个辅助工具,提供快速访问常用功能和手势操作的浮动按钮...
在iOS开发中,"ios中类似assistiveTouch的悬浮窗"是一种常见的用户界面特性,它模仿了Apple设备上的AssistiveTouch功能。AssistiveTouch是iOS系统自带的一项辅助功能,提供了一个浮动的小按钮,用户可以自定义快捷...
在iOS开发中,为了提供用户更便捷的操作体验,开发者经常会在应用中实现类似Assistive Touch的悬浮小图标功能。这个“iOS类似assistiveTouch悬浮小图标支持扩展和收缩”的项目,就是一个很好的示例,它允许用户点击...
AssistiveTouch是苹果iOS系统中的一个辅助功能,它提供了一个浮动菜单,用户可以通过这个菜单快速访问各种设置和功能,如控制中心、设备锁定、屏幕截图等。 描述中提到,“太多无法一一验证是否可用”,这可能意味...
通过以上知识点的运用,我们可以创建一个类似于iOS AssistiveTouch的悬浮button,它能跟随手指移动,提供便捷的用户交互。这样的功能不仅提高了应用的可用性,也为用户提供了个性化的体验。在实际开发中,可以进一步...
一行代码快速集成Assistive Touch功能: [HMYAssistiveControl createOnMainWindowWithCollapsedView:view andExpandedView:nil andBlockClickData:^(CGPoint pointTouch){ NSLog(@"click me is block!~ ha ha ha,...
在安卓平台上,"仿AssistiveTouch 窗口浮动按钮"是一种常见的用户界面功能,类似于苹果iOS系统中的AssistiveTouch。这个功能为用户提供了一个便捷的入口,通过一个小巧的浮动按钮,用户可以快速访问各种常用操作或者...
XFAssistiveTouch, 辅助按钮模拟iOS系统 AssistiveTouch 正在启动阅读此自述文件文档或相关博客了解 XFAssistiveTouch参考使用章节或示例代码在你的项目中使用 XFAssistiveTouch通信安装pod 'XFA
"Android-AssistiveTouch"是一个开源项目,旨在帮助用户在Android设备上实现类似iOS中的"小白点"功能,提供一种便捷的触摸操作方式。该项目特别适用于那些已经开启沉浸式模式并隐藏了虚拟按键的Android手机,如Nexus...
1. **浮动视图(Floating View)**:这是实现AssistiveTouch的基础,需要创建一个可以自由移动并始终显示在屏幕上的小窗口。这通常通过自定义View或者使用系统提供的`PopupWindow`或`SystemBarTintManager`来实现。...
在iOS开发中,"ios类似AssistiveTouch的全局浮动按钮"是一种常见的用户界面特性,它为用户提供了一种快速访问常用功能的方式。这个概念借鉴了苹果设备上的AssistiveTouch功能,AssistiveTouch是苹果系统自带的一个...
总的来说,仿iPhone的AssistiveTouch悬浮辅助球工具为Android用户带来了与iOS类似的便捷操作方式,不仅提升了用户体验,也为那些不习惯或者不方便使用硬件按键的用户提供了新的选择。这种工具的出现,体现了软件...
在Android平台上,我们可以实现一个类似于iOS的Assistive Touch功能,这个功能通常被称为悬浮按钮,它提供了一种便捷的方式,让用户快速访问常用设置或功能。本文将深入探讨如何在Android应用开发中创建这样一个仿...
"swift-FloatView封装的类似iPhone的AssistiveTouch功能的悬浮窗"就是一个这样的解决方案,它模仿了iPhone上的AssistiveTouch特性,让用户可以在屏幕任意位置通过一个悬浮窗口快速调用预设的操作。 首先,让我们...
在Android平台上,实现类似iPhone的AssistiveTouch功能,可以为用户提供便捷的触控操作,类似于浮动菜单,方便用户快速访问常用功能。这个功能通常包括屏幕截图、返回、主页、多任务等操作,而且可以自定义设置。在...