首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android UI开发中所遇到各种坑

1.软键盘隐藏问题 问题描述:Activity按下返回调用finish()方法后,界面已经销毁,但是软键盘依然还留在屏幕上,这让当前正在显示Activity没有输入框完全没法看,非常严重视觉影响。...注意点:用这个隐藏软键盘方法,最好做为空判断,否则有可能会出现空指针异常,如当前界面没有控件获取焦点,则getCurrentFocus()这个方法得到是一个null....<activity Android:windowSoftInputMode="adjustResize" 2.merge标签注意点 merge标签只有在根布局是FrameLayout才有用,因为所有界面的根布局都是...补充一点,inflater()方法里可以设置attach roottrue则可以解析出来,不会出现崩溃。...布局选择 FrameLayout是最简单一种布局,所有界面的根布局都是FrameLayout,加载速度最快。

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

手机网页调试工具-兼容IOS与

最近在开发微信公众号网页时候,由于手机端各种不适配或者机型问题出现了很多莫名其妙bug,但这些bug只会在固定机型或者部分手机复现,电脑端调试以及大部分手机都是没有问题。...手机解决办法: 在微信上打开: https://debugx5.qq.com/?...查看调试方法 当打开手机网页网页右下角会出现vConsole按钮,其功能与电脑上开发者工具类似,算是迷你版开发者工具。点击按钮就会出现下列界面,此处可以查看日志打印,本地存储等各类信息。...以上就是端手机网页开发时调试方法。 ios网页调试方法 IOS不支持X5内核所以不能使用上述方法。但是可以直接在html中嵌入vconsole.js 下面嵌入方法: var vConsole = new VConsole(); 具体使用方法与上述操作类似

1.1K10

应用内悬浮窗适配方案实战

作者 大家好,我叫小鑫,也可以叫我蜡笔小鑫; 本人17年毕业于中山大学,于2018年7月加入37手游团队,曾经就职于久邦数码担任开发工程师; 目前是37手游团队海外负责人,负责相关业务开发...背景 游戏内悬浮窗通常情况下只出现在游戏内,用做切换账号、客服中心等功能快速入口。...params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT...2、方案二简单方便,但是用到了ActivityaddContentView方法,在某些游戏引擎上使用会有问题。...因为有些游戏引擎不是在Activity上跑,而是在NativeActivity上跑 3、方案三是我们当前采用方案,目前还暂未发现有显示不出来之类问题~ 4、本文讲述方案只是Demo哈,实际使用还需要考虑刘海屏问题

1.5K40

1.之Andriod布局 VS WinPhone布局

开发,第一件事就是翻翻看提供布局方式方便不,因为笔者现在是做WP,于是乎有了这篇比较两个平台提供一些基础布局方式博文。...2" /> 35 代码虽然不同,但是效果是一样一样(左边WP右边)... ?...3.FrameLayout&AbsoluteLayout VS Canvas 在官方文档布局介绍文档中已经不见FrameLayout和AbsoluteLayout这两位了,估计是在如此丰富设备分辨率下以及很少有场景能用到这两种布局方式了...Android-FrameLayout:以FrameLayout左上角基准起始位置,第一个子元素在第一层,第二个子元素在第二层,,,依次类推,就像千层饼一样。...6.总结 Android布局容器设计明显偏重于提供自适应能力,即使是需要设置固定宽高地方也已dp代替px单位,或许是众多设备分辨率所逼迫吧; WinPhone布局容器是从WPF再到Silverlight

1.2K80

Android入门教程(四)

对于小白什么,说到不了解的人就说:“哦,就是手机啊!”...,如果作为程序员千万可别这么说,否则会被说哦,android可以看到是我们初次进入IT界,它那Logo标志,一个类似机器人一样标志,一个绿色机器人。...我们知道中有自带虚拟机下载,那么你了解虚拟机吗?...为了适应不同界面风格,Android系统提供我们五种常用布局,分别是LinearLayout(线性布局),RelativeLayout(相对布局),FrameLayout(帧布局),TableLayout...,foreground,设置帧布局容器前景图像,foregroundGravity,设置前景图像显示位置,等等 当我们创建项目,我们会发现Application Name ,注意会看到一些单词,

34910

「docker实战篇」pythondocker- 多设备端并发抓取抖音粉丝数据(23)

伪装爬虫 刚出现因为访问册数太多,douyin那边识别了,这样需要解决。通过代理方式。 1.购买代理ip,还是用咱们老朋友【阿布云】https://www.abuyun.com/ ? ?...2.登录【阿布云】后,使用mitmdump方式设置阿布云代理 启动cmd,输入 mitmdump -s test.py -p 8889 --mode upstream:HTTP隧道服务器:端口 -...3.模拟器wifi也要设置对应代理,之前说过在重复说下。 ? 4.这样就使用了代理方式了。 所有请求就是代理阿布云了。...PS:调试过程中,夜神模拟器,appium,python代码插件没有问题的话,程序在运行过程中出现最多问题还是xpath定位问题,对于python代码其实也是很好理解。...另外注意文章中提到要使用5.1以上否则会因为页面中含有Emoji特殊符号,爆出Failed to Dump Window Hierarchy。udid对于启动多个模拟器时候一定要进行设置

1.2K30

手机网页调试工具-微信网页小程序调式,日志打印,缓存清理

最近在开发微信公众号网页时候,由于手机端各种不适配或者机型问题出现了很多莫名其妙bug,但这些bug只会在固定机型或者部分手机复现,电脑端调试以及大部分手机都是没有问题。...所以就找到了一个可以在手机端调试工具。 此调试只支持手机,苹果手机暂不支持。 在微信上打开 https://debugx5.qq.com/?...from=singlemessage 出现以下图片 当需要清理缓存 首页下拉到最后面,根据需要勾选需要清除缓存,点击清除。...查看调试方法,右下角会出现vConsole点击打开 默认打开首页就是日志查看页面。...以上就是端手机网页开发时调试方法。

1.2K50

Android 性能优化

至于系统为什么设置每个16ms来触发渲染这就跟人眼生理结构有关,人眼睛可以感知每秒60帧动画,如果低于60帧就不会认为它是连续性。 ?...具体在实际开发中,我们要尽量避免过度绘制、XML层级过深、测量耗时等 ?...} 在系统中,谷歌我们提供了一些平台比较高效数据结构,android.util包下一共有如下几个类:SparseArray系列(SparseArray,SparseBooleanArray,SparseIntArray...并非keep-alivetimeout设置时间越长,就越能提升性能,长久不关闭会造成过多僵尸连接和泄露连接出现。...比如我们可以判断只有当前 手机 AC 充电状态才去执行一些非常耗电操作,像定位、传感器用完记得及时关闭,使用传感器,选择合适采样率,越高采样率类型则越费电。

80710

Flutter Android 端 FlutterView 相关流程源码分析

FlutterEngine Java 相关流程源码分析》 《Flutter Android 端 FlutterView 相关流程源码分析》 《Flutter 绘制动机 VSYNC 流程源码全方位分析》 《Flutter ...//...... } }; //...... } 看完上面代码你也就明白为什么我们在 Android Studio 中查看 FlutterActivity 层级树...FlutterView 自己在端其实不做什么事,主要就是负责把事件通知到 flutterEngine 端去,然后 flutterEngine 再传递到 dart 响应,从而触发新绘制刷新效果。...到此也就应证了我们前面说,FlutterView 只是一个在端管理 View,内部渲染有专门 View 负责,内部事件全部通过原生分发到 flutterEngine 进行 dart 代码触发处理...FlutterView 中 addView FlutterImageView 方式其实有两种,一种是前面介绍过,通过 FlutterView 构造函数参数 FlutterImageView 方法实现

1.4K00

「docker实战篇」pythondocker-抖音appium模拟滑动操作(22)

上次代码写到了可以通过接口获取粉丝数据了,但是当时有个问题,需要人为手动进行点击头像,然后点击粉丝,进入粉丝列表,然后在下拉刷新获取最新粉丝。...3.查看抖音apk信息 查看appPackage和appActivity 1.进入sdk目录下找到build-tools 2.随便选择一个版本号 3.通过cmd进入这个目录 4.输入命令获取aapt.exe...只能获取appPackage=com.ss.android.ugc.aweme,appActivity获取不到 用另一个变态方式 #获取列表adb devices#进入监控日志adb -s 127.0.0.1...获取到信息 appPackage: com.ss.android.ugc.aweme appActivity:com.ss.android.ugc.aweme.main.MainActivity 3.获取版本号...4.测试配置 1.启动模拟器 2.启动appium应用 3.启动测试python代码 4.顺序必须上找上边 ? 测试python代码 #!

1.3K20

5-AVI--Fragment简单封装

零、前言 [1].每次写Fragment要加载布局,布局设置内容,挺麻烦,搞个基类简单封装一下吧 [2].一般封装基类使用模板方法设计模式,基类中做一些常用不变东西,需要拐点弯逻辑就弄个抽象方法延迟到子类...[3].textView设置文字,ImageView设置图片两个经常用方法也提供一下 ?...setLayoutId(), container, false); render(mRootView); return mRootView; } /** * 设置布局里控件...layout_centerInParent="true" android:textSize="26dp"/> 本文由张风捷特烈原创,转载请注明 更多技术欢迎访问...:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com 你喜欢与支持将是我最大动力

61630

eclipse项目_eclipse开发android

eclipse之开发环境搭建 前言 网上不知道哪个哥们教程里提供JAVA JDK15安装包有问题,安装Android SDK时候一直找不到它,干脆自己重新整理一份安装资料出来。...修改hosts文件 这里本来是更改代理服务器设置,但是网上提供镜像服务器大部分都用不了。这里参考了网上另一篇博文来解决这个问题。...如果没有出现以下信息,一般ANDROID_SDK_HOME路径填写错误。 三、eclipse安装ADT插件。...五、检查eclipse中SDK路径 【window】——【Preferences】。 点击【Andorid】,查看右侧路径是否正确。正常是自动填写。...六、创建eclipse中模拟器 我这里配置完eclipse模拟器一直黑屏。然后网上查了一个模拟器叫genymotion ,据说这个运行速度快也比较稳定。

1.2K20

版微信跳一跳辅助 跳一跳辅助Java代码

版微信跳一跳辅助,java实现,具体内容如下 ? 已经看到网上有大神用各种方式实现了,我这是属于简易版ADB命令式实现。...操作方法 1.光标移动到起始点,点击FORM 2.光标移动到目标点,点击TO 3.小人已经跳过去了 原理说明 安装APP,通过设置起点和目标点位置,获得弹跳毫秒数,发送请求到连接手机电脑中,电脑执行...具体实现 本人测试设备是Mate9,android版本7.0,由于在非Root环境下,普通应用并不能通过Runtime.getRuntime().exec()来点击本应用外区域,所以将手机直接通过...源代码 源代码非常简单,就直接放在这里了 //写在APP中起跳 public class Jump { private static final String TAG = "Jump"; private...true urlConn.setUseCaches(true); // 设置Post请求 urlConn.setRequestMethod("GET"); //urlConn设置请求头信息 //设置请求中媒体类型信息

84961

【沙龙干货分享】你要知道N个Android适配问题

本期,我们分享主题是应用机型适配之痛。适配性问题作为开发者中老大难问题,几乎困扰过每一个开发者。如何在保证快速研发中,又能做好服务质量保证呢?来听听我们嘉宾带来精彩分享。...8%手机即使设置了 duplicate false 还是可以重复创建快捷方式。...另外一种方法是:自行保存快捷方式创建记录,通过一个字段来记录快捷方式是否已经创建过了,以此来决定是否创建新快捷方式,这种做法也是因为出现快捷方式无法删除情况后对解决方案进行了一个小升级,虽然可以解决问题...这就是因为Android3.0 一下版本在FrameLayout 中使用layout_marginTo 标签必须要设置gravity 才能生效。...,比如如果靠近值是0,远离值是1,那么getMaximumRange()值应该是1 才不会影响我们判断,我这里仅仅是从API 角度和我们日常使用习惯来说,如果不是这样规律,就会对我们编程造成麻烦

97960

APP测试背后数据运营(运营篇)

,但是由于应用市场扩大化每日新增压力,人工测试已经不能完全满足使用需求,云端测试大大提高了市场审核效率,我知道云端测试应该是4年前当时云端测试其实还没有大面积推广,云端测试不但能够解决人工问题...云测能够满足一般测试需求但很多是付费哒。 随之出现众测平台,创业开发型团队App内部测试以及对应crash报告类服务相对很少,而且并不成熟。iOS开发测试一直是令人头疼问题。...的话,就有Robotium[ROB01], Robolectric [ROB02], Roboguice [ROB03], MonkeyTalk [MON01],Monkeyrunner [MON02...自动化工具Robotium已经变成开源界实际标准。它用起来很简单且是基于测试设备。...测试APP安装和删除过程。更重要是,测试从老版本升级新版本过程。或许本地数据库已经改变了,这样就会引起一些严重迁移问题。 App被本地化了吗?测试员需要用不同语言测试APP。

1.9K20

入门教程(十一)-布局

布局 布局,我们在做App,会有很多布局控件,这些控件要得到合理摆放,而这所有的控件布局都是继承ViewGroup类子类,布局控件,有我们常见布局控件,也有嵌套布局。...常用布局 Layout布局是ViewGroup实现类。...布局有: FrameLayout(帧布局) LinearLayout(线性布局) TableLayout(表格布局) RelativeLayout(相对布局) AbsoluteLayout(绝对布局)...FrameLayout(帧布局),是最简单布局,默认从屏幕左上角显示,后面添加元素会覆盖前面的子元素。...LinearLayout(线性布局),是常用布局,以水平和垂直排列。 TableLayout(表格布局),在表格布局中,每一行一个TableRow,每一个单元格内是一个View对象。

46720

Ui Automator 框架和Ui Automator Viewer你会用吗?附送「必备adb命令」拿走不谢 !

3.UI Automator Viewer 报错 4. sdk 坑 一、往期回顾 前 3 篇文章给大家讲解了 Appium 环境安装,Appium 理念以及实现方式(四大点),第一个 app 自动化脚本...模拟器本身是 root 权限,真机需要开启 usb 调试模式(不同手机设置这里会有差异,可自行百度)。 adb 是才有的,ios 没有。...通常在 adb 遇到问题,与 adb kill-server 一起使用。...,可以在发布产品中关闭,比较常见) I—Info(信息,一般提示性消息) W—Warning(警告) E—Error(错误,已经出现可影响运行错误,比如应用 crash 输出日志) 标签(...sdk 坑 我安装 sdk,之前用镜像一直没问题,今天死活不行,应该是镜像不能用了。

2.3K11
领券