1.概述 最近项目有新需求,UED给了个卡券密码的UI样式,如图: 我一看很简单啊,一个TextView解决问题,然后做好以后在模拟器里一看..... 纳尼,这个时候才想起来,TextView 中英文在一起会有排版问题,那怎么解决呢...... 思路 刚开始的想法是一个字符一个字符的去绘制,绘制到最右边的临界点就换行绘制,结果实践以后发现不同的字符之间的间距不一样,显示会非常凌乱,又没有什么好的方案解决这个间距问题,所以这个方案pass: 单个字符绘制不行那就一行一行绘制,根据View的长度把文…
Android Studio 解决更新慢的问题 最近在一些群里有伙伴们反应工具更新慢,由于国内网络对google限制的原因,android studio更新一直是个老大难的问题,为了,提高sdk下载的速度,我们更改原因的下载网址,改成国内的镜像地址,这样就不用vpn,也同样可以较快的更新!就把自己当时,配置的步骤再整理下! 一,更新sdk慢 打开settings 其中在 sdk update sites中把默设的 勾全部去掉,在其他下面添加国内的镜像地址: true   http://ubunt…
Android中解决图像解码导致的OOM问题 原文链接:http://blog.csdn.net/zjl5211314/article/details/7042017…
Android 如何解决dialog弹出时无法捕捉Activity的back事件 在一些情况下,我们需要捕捉back键事件,然后在捕捉到的事件里写入我们需要进行的处理,通常可以采用下面三种办法捕捉到back事件: 1)重写onKeyDown或者onKeyUp方法 2)重写onBackPressed方法 3)重写dispatchKeyEvent方法 这三种办法有什么区别在这里不进行阐述,有兴趣的朋友可以查阅相关资料. 然而在有dialog弹出时,想捕捉back键的事件的话,上述三种办法都无法实现.…
Android Studio 解决 Gradle 依赖冲突的问题 参考链接: Android Studio(Gradle)解决库依赖冲突问题:http://www.mobibrw.com/2016/3777 gradle 管理依赖库两个问题:http://blog.csdn.net/xuguoli_beyondboy/article/details/47210379 Gradle 官网:https://docs.gradle.org/current/userguide/userguide_sin…
原文:[Android]解决微信调起支付接口没反应,调不起来微信的问题 //#前言 吐槽一下,微信支付的sdk真难用,文档混乱,坑不少. 正文:可能引起这种情况的问题 1. 最不能出现的 你的APPID和商户号写错了.appid是你open.weixin.qq.com里你设置的应用的id. 2. 最可能出现的 你应用的签名弄错了,这里坑比较多. * 当你直接用AndroidStudio调试,在手机上直接Run的时候,用给的那个签名软件,获取到签名更新到你应用信息的这里: * 当你在另外一台电脑上…
在python的格式输出时常使用format()方法,其中的多余空间默认使用英文空格作为占位符,不方便中英混合时的格式输出,因此我们要为其中的中文字符串使用占字符较大的中文空格符作为多余空间的占位符. chr(12288)返回的是中文空格符,因此我们在格式输出时可以使用chr(12288)作为fornat()函数的占位符. 例如: tplt = "{:^5}\t{:{ocp}^12}\t{:{ocp}^5}\t{:^5}" #方便中文对其显示,使用中文字宽作为站字符,chr(12288…
今天项目没什么进展,公司后台出问题了.看了下刚刚学习Android时的笔记,发现TextView会自动换行,而且排版文字参差不齐.查了下资料,总结原因如下: 1.半角字符与全角字符混乱所致:这种情况一般就是汉字与数字.英文字母混用 解决方法一: 将textview中的字符全角化.即将所有的数字.字母及标点全部转为全角字符,使它们与汉字同占两个字节,这样就可以避免由于占位导致的排版混乱问题了. 半角转为全角的代码如下,只需调用即可. public static String ToDBC(Strin…
一.问题在哪里? textview显示长文字时会进行自动折行,如果遇到一些特殊情况,自动折行会杯具成这个样子: 上述特殊情况包括: 1)全角/半角符号混排(一般是数字.字母.汉字混排) 2)全角/半角标点符号出现在行首时,该标点符号会连同其前一个字符跳到下一行 3)英文单词不能被折成两行 4)...... 二.怎么搞? 通常有两类解决方案: 1)修改文本内容,将所有符号全角化.在标点符号前面加空格等等…… 2)保持文本内容不变,在合适的位置将文本手动分成多行 本文采用第二种方案,更加通用,也最大…
新建一个xml布局文件,如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent&q…
http://my.oschina.net/gabriel1215/blog/602608 目录[-] 使用MultiDex支持库 注意事项 结论 如果你是一个android开发者,你至少听说过的Dalvik的蛋疼的64K方法限制.概括地说,在一个DEX文件,你可以调用很多的方法,但你只能调用它们最前面的65,536个 ,因为这是在方法调用集合中的所有的空间了.如果你的源代码和狂拽炫酷叼炸天的三方库中方法超过了这个限制.看这篇文章就对了. UNEXPECTED TOP-LEVEL EXCEPTI…
出现该问题unspecified on project app resolves to an APK archive which is not supported as a compilation dependency的情形可能是:创建了两个Module,其中一个Module依赖另一个Module而导致了出现该问题: 如果在Android Studio中,有ModuleA和ModuleB,我们希望ModuleA依赖ModuleB,运行时候可能会出现该问题,查看被依赖的ModuleB的build.…
遇到的情况: app启动时进入启动页时出现白屏页,然后大概一秒之后就出现了背景图片. 原因:app启动时加载的是windows背景,之后再加载布局文件的,所以开始的黑屏/白屏就是windows的背景颜色,因此我们只要在启动页设置windows背景颜色就好了,那么在哪里设置呢?  就是theme里面. 解决办法:参考:[Android Drawable 那些不为人知的高效用法] [Android 启动APP时黑屏白屏的三个解决方案] 首先看之前的布局文件xml写法 <?xml version=&quo…
近日,Android Developers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持. 如果你是一名幸运的Android应用开发者,正在开发一个前景广阔的应用,不断地加入新功能.添加新的类库,那么终有一天,你会不幸遇到这个错误: Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536 这个错误是And…
当我写这篇文章的时候我是怀着激动的心情的,因为我又解决了一个技术问题.你可能对题目还一知半解,这是什么意思,我之所以要写这篇文章就是要解决当我们在cocos2dx中使用了第三方库的时候,移植到android平台的过程中是会报错的问题,典型的例子就是我在上几篇博客中使用了编码转换的库iconv,在我移植到android平台测试的时候就出现了错误,各种各样的错误,网上搜了一下,但是网上的方法感觉都很老了,有的也没说明白,今天通过摸索马上分享给大家,让大家也少走歪路. 如果你还不会移植android平…
最近在使用AIDL做IPC的时候,在处理复杂的数据类型的时候,编译器总是报couldn't find import for class错误,所以在这里总结下AIDL使用的时候的一些注意事项,希望对你能有所帮助. Android 中进程间通信使用了 AIDL 语言,但是支持的数据类型有限: 1.Java的简单类型(int.char.boolean等).不需要导入(import). 2.String和CharSequence.不需要导入(import). 3.List和Map.但要注意,List和M…
在AlertDialog中使用自定义的View,如果View中有EditText,在上面点击,默认是跳不出软键盘的,不是焦点的问题.解决方法,有两种,一是把AlertDialog换成Dialog,但这么一来,对话框的最外层会多出一个框,顶部还会空几十个DP,当然可以用setBackgroundDrawable(new ColorDrawable(0))把背景设为透明,隐藏掉边框,但是上面空着的几十个DP还在,对话框就不是在屏幕居中了.代码: Dialog ad = new Dialog(cont…
近期编译的时候遇到这个问题.... > com.android.build.api.transform.Transformexception: java.util.zip.ZipException: duplicate entry: XXX 原因: XXX包重复 1. 引用其他的包里面包含 XXX 解决办法: 1. 如果是引用的包均为本地AAR ,  找到对应的AAR 删除里面重复的包 2. 如果是在线的AAR 引用, 可采取如下方法: 例子: ompile('com.github.chrisb…
http://www.androidchina.net/5527.html Android Studio比Eclipse ADT有巨大的优势. Android Studio原生支持使用Gradle来构建项目,使用动态语言Groovy定义项目构建的过程,避免了build.xml文件繁琐的定义. 然而使用的时候,却有着巨大的缺陷.由于Android Studio在升级的时候,可能会伴随着Gradle版本的升级,Gradle就会产生若干的版本. 为了保证程序不会因为Gradle版本不同导致问题,又产生…
网上常见的方法我都试过,都没能解决,偶然看到的一个方法解决了,在这了记录一下. 在App目录下的build.gradle的android{ ...  ....}中添加如下代码,即可解决.(xx.xx.xx是运行项目的版本号) configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (reques…
作为初学者昨天还好好能跑的项目今天就会遇到突然爆红出错是经常的事,让我们来看下是什么错吧 先来翻译: 连接不到开发的服务器. 请按照以下的步骤来修复此问题: 确保包服务器在运行确保你的设备或者模拟器连接着电脑,并且手机打开了USB调试模式,然后在cmd中运行adb devices来查看已经连接好的设备列表确保飞行模式是关闭的如果是使用真机来开发,输入 adb reverse tcp:8081 tcp:8081来检查设备输入IP:8081 解决方法: 1.首先检查包服务器是否运行正常. 在项目文件…
ADB的全称是Android Debug Bridge,是用来管理模拟器和真机的通用调试工具. 开USB调试 方法:手机设置 - 开发人员选项 - USB调试 - 勾选(开发者调试被隐藏了,在关于手机中连续点击N次版本号即可). 参考资料 android studio怎么使用adb 解决Android Studio的ADB连接不到手机问题…
我的上一篇文章:设置DialogFragment全屏显示 可以设置对话框的内容全屏显示,但是存在在某些机型上顶部的View被状态栏遮住的问题.经过测试,发现了一种解决办法,在DialogFragment的onCreateView()中添加一个布局监听器: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ... //此处root…
做Android程序的时候发现一个问题,由于用到了so库,当应用程序退出了,但是手机变得很卡,点击"设置"查看应用程序,界面显示着可以点击"强制关闭". 由于这个问题就是,在应用程序退出之后,系统并没有释放掉我应用程序所占内存. 之后在网上查解决办法.说是有两个: 方式一: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.…
android app开发中,文件.SharedPreference或数据库默认保存在/data文件夹下,有时需要查看该文件夹下数据文件是否创建成功时,发现竟然打不开data目录: 具体解决方式如下: 找到sdk\platform-tools路径下,在地址栏输入cmd打开命令窗口 输入命令执行:adb root 再次查看DDMS中的data目录,发现进去了.…
socks代理配置 项目代理:根目录下的gradle.properties文件 org.gradle.jvmargs=-DsocksProxyHost= 2.全局代理:用户根目录下的.gradle\gradle.properties文件 org.gradle.jvmargs=-DsocksProxyHost= 项目问题处理 解决冲突 : 在app下的build.gradle文件中的dependences {}中 androidTestCompile('com.android.support:su…
https://blog.csdn.net/u011622280/article/details/79005453 studio就报Please configure Android Sdk,重启android studio加重新配置sdk都不可以. 解决办法: 点击左上角File 点击Invalidate Cache/Restart 重启后便可使用…
内存抖动是指在短时间内有大量的对象被创建或者被回收的现象,内存抖动出现原因主要是频繁(很重要)在循环里创建对象(导致大量对象在短时间内被创建,由于新对象是要占用内存空间的而且是频繁,如果一次或者两次在循环里创建对象对内存影响不大,不会造成严重内存抖动这样可以接受也不可避免,频繁的话就很内存抖动很严重),内存抖动的影响是如果抖动很频繁,会导致垃圾回收机制频繁运行(短时间内产生大量对象,需要大量内存,而且还是频繁抖动,就可能会需要回收内存以用于产生对象,垃圾回收机制就自然会频繁运行了).综上就是频繁…
android studio 模拟器打不开,一直停留在第三方.waiting for target  device  come online 问题解决方法 方法1.Android Emulator 未打开 选择sdk Manager打开,选中Android sdk  看右边Android Emulator是否打对勾,选中此选项,会提示下载一些新的补丁,完成即可以解决 方法2  端口占用 命令行界面进入android_sdk/platform-tools/目录下,执行”adb kill-serve…
其实在TextView中遇到排版自动换行而导致混乱不堪的情况是非常常见的,而且导致这种问题产生的原因就是英文和中文混合输入,半角字符和全角字符混合在一起了.一般情况下,我们输入的数字.字母以及英文标点都是半角字符,所以占位无法确定,它们与汉字的占位不同,由于这个原因,导致很多文字的排版都是参差不齐的. 原因找到了,自然解决方法就来了,一般有以下两种方法来解决这种问题. 1.将TextView中的字符全角化.即将所有的数字.字母及标点全部转为全角字符,使它们与汉字同占两个字节,这样就可以避免由于占…