Ⅰ android 悬浮窗如何能让它和他的的下层一起响应触摸事件
/**
* 创建一个小悬浮窗。初始位置为屏幕的右部中间位置。
*
* @param context 必须为应用程序的Context.
*/
public static void createSmallWindow(Context context) {
WindowManager windowManager = getWindowManager(context);
int screenWidth = windowManager.getDefaultDisplay().getWidth();
int screenHeight = windowManager.getDefaultDisplay().getHeight();
if (smallWindow == null) {
smallWindow = new FloatWindowSmallView(context);
if (smallWindowParams == null) {
smallWindowParams = new LayoutParams();
smallWindowParams.type = LayoutParams.TYPE_PHONE;
smallWindowParams.format = PixelFormat.RGBA_8888;
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_NOT_FOCUSABLE;
smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP;
smallWindowParams.width = FloatWindowSmallView.viewWidth;
smallWindowParams.height = FloatWindowSmallView.viewHeight;
smallWindowParams.x = screenWidth;
smallWindowParams.y = screenHeight / 2;
}
smallWindow.setParams(smallWindowParams);
windowManager.addView(smallWindow, smallWindowParams);
LogPrinter.i(TAG, "添加了小浮标View");
}
}
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE;
Ⅱ android中如何去掉点击键盘的浮层
方法一
在你的activity中的oncreate中setContentView之前写上这个代码
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
方法二
在 项目的AndroidManifest.xml文件中界面对应的<activity>里加入
这样会让屏幕整体上移。如果加上的 是 android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。
关于android:windowSoftInputMode
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。
这个属性能影响两件事情:
【一】当有焦点产生时,软键盘是隐藏还是显示
【二】是否减少活动主窗口大小以便腾出空间放软键盘
它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。
例如:
<activityandroid:windowSoftInputMode="stateVisible|adjustResize". . . >
在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值
方法三
把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。
Ⅲ Android 自定义键盘点击按键出现的浮层怎样去掉
那个不是TextView是EditText,你只要把EditText放在Button上面就行了代码如下:粘进去运行就行了activity随便写个就行记得配manifest~~~
Ⅳ Android开发中,添加一层悬浮窗后,应用内返回键无响应
随手一网络:网页链接网页链接
Ⅳ 在android 悬浮层中放一个fragment
new一个Layout 然后把Fragment add进去
Ⅵ Android如何只在应用内显示悬浮窗
Android悬浮窗实现使用WindowManager ,WindowManager介绍
通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 WindowManager对象。
每一个WindowManager对象都和一个特定的 Display绑定。
想要获取一个不同的display的WindowManager,可以用 createDisplayContext(Display)来获取那个display的 Context,之后再使用:Context.getSystemService(Context.WINDOW_SERVICE)来获取WindowManager。
使用WindowManager可以在其他应用最上层,甚至手机桌面最上层显示窗口。
调用的是WindowManager继承自基类的addView方法和removeView方法来显示和隐藏窗口。具体见后面的实例。
另:API 17推出了Presentation,它将自动获取display的Context和WindowManager,可以方便地在另一个display上显示窗口。
Ⅶ appium中android自动化怎么获取浮层的toast
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。 SQLite 基本上符合 SQL-92 标准,和其他的主要 SQL 数据库没什么区别。它的优点就是高效,Android 运行时环境包含了完整的 SQLite。 SQLite 和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在 CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifest typing.)。 此外,SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。 除了上述功能外,SQLite 是一个完整的 SQL 系统,拥有完整的触发器,交易等等。 Android 集成了 SQLite 数据库 Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。 对于熟悉 SQL 的开发人员来时,在 Android 开发中使用 SQLite 相当简单。但是,由于 JDBC 会消耗太多的系统资源,所以 JDBC 对于手机这种内存受限设备来说并不合适。因此,Android 提供了一些新的 API 来使用 SQLite 数据库,Android 开发中,程序员需要学使用这些 API。 Android 提供了 SQLiteOpenHelper 创建一个数据库,只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。 SQLiteOpenHelper 的子类,至少需要实现三个方法: 1 构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。 2 onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。 3 onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。
Ⅷ iOS和安卓的UI设计有什么区别
iOS与安卓设计上的差异主要从系统差异、成本考虑、用户习惯3个方面来阐述。
一. 系统差异
1. 物理按键对返回的影响
安卓的物理按键以及屏幕导航按键的差异是安卓的返回键更加方便,
iOS只有home键,随着全屏的出现,可能会打破这种差异。
因此在设计返回操作的时候需要考虑平台的差异性。
安卓比iOS增加了物理返回键、底部导航,有些设备可以隐藏底部导航。
全面屏的普及会慢慢打破这种因为物理按键造成的交互及设计差别,全面屏设计适配是要考虑底部按键的差异。
华为全面屏的几种手势:
安卓全面屏出现后,并没有完全舍弃内置导航按键,还有纯手势、悬浮按钮、内置导航条3种方式。随着硬件的发展,安卓和iOS的交互操作会更加趋同,改变这种差异。
返回浮窗的UI表现:
iOS 手机只有一个“Home ”键,为方便用户退出浮层需要增加了“取消”入口。
而 Android 手机本来就有“返回”虚拟键,所以多做一个“取消”的意义性不大。
2. 屏幕分辨率造成的色调选择
Material Design作为谷歌推出的全新的设计语言,和iOS对比,Material Design更加沉稳,iOS更加鲜艳。原因是因为iOS的屏幕分辨率更高,对鲜艳颜色的还原度更好,安卓适应的机型比较多,颜色还原度没有那么好。
深色模式下考虑到用户长期使用的体验,因iOS的还原度高,背景使用#000000,安卓分辨率的限制,文字颜色较浅,谷歌推荐背景色为#121212。有些平台护眼模式和深色模式用两套,比如网易云音乐。
. 软件更新方式的不同
Android :由于安卓的开源特性,当有新版本时都会提示用户更新,且每个产品内部都带有“版本更新”入口。
更新的方式可分2种:
引导更新:弹出提示让用户更新 APP ,用户点击“更新”按钮前往应用商店更新、或者在当前页面更新并显示下载进度。
强制更新:也是先提示用户更新,只不过用户点击“更新”按钮,即调起软件安装页面。
iOS :而 iOS 端出于对用户体验的考虑,UI设计中IOS和安卓的设计差异是禁止向用户提示版本更新信息的。这也是为什么绝大部分的 iOS 产品,都是没有“版本更新”入口的原因,即使有,点击了也直接跳转到 App Store 查看版本情况。
4. 切图标注
XHDPI对应的是安卓2倍图,XXHDPI对应的是安卓3倍图,iOS的3倍图和安卓的XXHDPI是一样的。
iOS用375*667px做设计,有些也用750*1334px,原因有3点:
①开发同学不用换算,直接采用1倍图就可以
②sketch切图时导出更加方便
③极大提高了视觉还原和其他机型的适配
安卓用1080*1920px做设计,原因有3点:
①从中间尺寸向上和向下适配的时,调整幅度最小,最方便适配
②大屏幕时代依然以小尺寸作为设计尺寸,会限制设计师的设计视角
③用主流尺寸做设计,极大提高视觉还原和机型适配
5. 键盘差异引发的搜索框样式
安卓键盘有些是系统自带的,也有第三方的,例如搜狗输入法,iOS更多是系统自带的键盘。
很多输入法在键盘的右侧加入了更加明显的搜索按键,但为了照顾一些用户的操作习惯,安卓还是把搜索放在了搜索框后面。
二. 成本考虑
1. 开发成本
loading
iOS的loading自定义更加常见、个性化强,安卓很多都是用系统自带的(转圈的那种),主要是考虑开发成本。
TAB样式
2个平台会有特有的控件样式。
安卓系统本身全局actionbar,若去实现其他的样式,会破坏整体的封装,开发成本更高。
iOS系统有自定义的tab切换样式,开发人员只需要更改颜色、圆角,更加方便。
高斯模糊
毛玻璃在iOS比较常见,安卓开发成本高,建议不做这种效果。
2. 商业成本
一般iOS会让用户承担30%的抽成,例如优酷、腾讯的VIP会员价格。
三. 用户习惯
1. 长按侧滑删除
信息列表的侧滑,在iOS中是很常见的操作,但是在安卓更习惯长按,如果改成侧滑删除,会增加用户的理解成本。
2. 图标设计
返回按钮:一般iOS返回不带横线“<”,安卓喜欢带有横线,例如下图,不过有些app会统一用一种。
分享按钮:一把iOS会采用苹果自带的向上的形式,安卓喜欢用三个圈圈(看下图)。
弹窗按钮:有些安卓弹窗上的按钮会遵循系统规则,在右侧这种形式,iOS更喜欢居中。
bar标题位置:安卓上的标题跟随着“返回”,在bar的左侧,iOS会喜欢放在中间。
Ⅸ 如何实现Android悬浮在最上层的提示框
总布局使用framelayout
Ⅹ Android钉钉的会议提醒浮层一直显示到界面上
如果是苹果电脑,可以使用ical来同步日历,包含日历事件和待办事项。