android
猪脚踏浪
这个作者很懒,什么都没留下…
展开
-
LinearLayout、RelativeLayout、FrameLayout居中显示
LinearLayout、RelativeLayout、FrameLayout居中显示需要设置的属性不一样,今天总结下,方便以后使用~~布局文件如下: http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_par转载 2013-04-29 17:29:48 · 709 阅读 · 0 评论 -
android 中退出当前应用程序的方法
1 . 自己管理堆栈,不多说了2. 前一阵子,我们公司的APP项目终于解决了在程序崩溃后或者跳转过程中黑屏后,退出程序仍然弹出大量打开过的activity,因此无法一次性退出的BUG。在退出后弹出这么多前打开的过的activity,都要用户一个个关闭,属于比较严重的BUG,无法正常使用。用过广播的方法的来finish所有的activity,也试过kill掉自己的进程实现一次性转载 2015-01-30 14:07:46 · 875 阅读 · 0 评论 -
android TypedValue.applyDimension() 说明
这个方法是转变为标准尺寸的一个函数 DisplayMetrics dm = getResources().getDisplayMetrics();tabTextSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, tabTextSize, dm); COMPLEX_UNIT_SP是单位,20是数值,也就是2原创 2015-01-19 01:27:03 · 523 阅读 · 0 评论 -
Android adb.exe程序启动不起来,如何处理
1.cmd命令进入sdk/platform-tools文件下,adb kill-server2.启动adb服务,adb start-server3.如果启动失败,可能是某个进程占用了adb的5037端口,查找占用端口号5037的连接netstat -ano | findstr "5037" 4. 以下结果为例TCP 127.0.0.1:58440 127.0原创 2015-03-18 16:03:48 · 711 阅读 · 0 评论 -
自定义Android中EditText中的Hint文本的大小
今天同事在工作中碰到一个问题, 就是EditText中的文字在设定大小后, Hint文本由于太长导致在EditText中无法完整的显示, 所以问有没有单独设置Hint文本大小的选项. 在网上看了一下都没有这方面的介绍. 于是我看了下TextView的源码(EditText继承自TextView), 发现了一些端倪,如下:public finalvoid setH转载 2015-03-24 11:23:30 · 459 阅读 · 0 评论 -
消除 activity 启动时白屏、黑屏问题
默认情况下 activity 启动的时候先把屏幕刷成白色,再绘制界面,绘制界面或多或少有点延迟,这段时间中你看到的就是白屏,显然影响用户体验,怎么消除呢?在 Activity theme 设置style 即可 true true false @android:color/transparent转载 2015-04-15 22:58:32 · 629 阅读 · 0 评论 -
Activity使用isFinishing
( 一 ) 项目中,遇到这个问题,一个activity在finish时候,还有收到广播,结果导致bug。在广播接收器中先判断一下比较保险。或者在onDestroy里面注销广播private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { @Override public v转载 2015-04-15 22:48:57 · 9229 阅读 · 0 评论 -
Activity onDestroy() 调用研究
一个BUG,如果 activity 实现了一个回调接口,然后使用 this 设置给需要回调接口的方法,这种应用场景比较常见,最常见的就是实现 onClickListener 接口,然后 findViewById().setOnClickListenr(this)如果,这个回调接口设置到了一个静态对象(单例模式),当 activity finish() 的时候(按返回键,回到桌面),转载 2015-04-15 23:00:39 · 818 阅读 · 0 评论 -
android之ConnectivityManager ,网络连接状态的一些注意问题
ConnectivityManager.getActiveNetworkInfo() android平板 以太网 网线重插后,程序里去取getActiveNetworkInfo会等于null,没有活动网络,从而无法检查isConnected和getTypeName取得网络类型等信息,但其实是可以上网的,用WebView控件或自带的google浏览器上网正常,只是用自带的浏览器上网时第一次浏览转载 2015-04-25 10:07:28 · 2251 阅读 · 0 评论 -
ScrollView内的控件改变之后自动滚动的问题
ScrollView中控件的长度发生改变,这时ScrollView会自动下滚到变化的控件处。滚动的那一下体验特别不好,所以要防止这种情况。 <ScrollView android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="fil原创 2015-06-25 13:15:26 · 816 阅读 · 0 评论 -
android反编译
[1] apk用winrar,winzip等工具解压 [2] 用AXMLPrinter反编译xml文件: java -jar AXMLPrinter2.jar AndroidManifest.xml AndroidManifest2.xml AXMLPrinter的下载地址如下: http://android4me.googlecode.com/file原创 2014-02-16 19:00:55 · 653 阅读 · 0 评论 -
Android MotionEvent中getX()和getRawX()的区别
测试代码:public class Res extends Activity implements View.OnTouchListener {Button btn = null;int x = 0;int y = 0;int rawx = 0;int rawy = 0;@Overridepublic void onCreate(Bund转载 2015-08-05 23:03:49 · 399 阅读 · 0 评论 -
安装和卸载程序
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/sdcard/Test.apk")), "application/vnd.android.package-archive"); startActivity(intent); // 安装 程序原创 2017-02-28 01:26:56 · 489 阅读 · 0 评论 -
开机启动
开机启动Activity首先定义一个Broadcast类——HandleBootComplete,代码如下:[java] view plaincopyprint?public class HandleBootCompleteextends BroadcastReceiver { public void onReceive(Context context原创 2017-02-28 01:27:38 · 352 阅读 · 0 评论 -
apktool官网及最新版本
上apktool官网下载最新版本官网地址 https://ibotpeaches.github.io/Apktool/当前版本 2.2.223 Jan 2017 - Apktool v2.2.2 ReleasedDetails / Download原创 2017-06-04 16:04:29 · 3260 阅读 · 0 评论 -
TextView
TextView多行显示的时候,显示省略号的问题是在TextView中添加这两个属性的设置即可(显示两行,显示不全的话,用省略号代替)android:lines="2" android:ellipsize="end"原创 2014-12-04 14:03:18 · 408 阅读 · 0 评论 -
Android在Service中弹出Dialog
1:在应用的AndroidManifest.xml中加入两个权限原创 2014-11-14 13:17:11 · 477 阅读 · 0 评论 -
计算view大小(measure)
1.android绘制view的过程简单描述 简单描述可以解释为:计算大小(measure),布局坐标计算(layout),绘制到屏幕(draw); 下面看看每一步的动作到底是什么, 第一步:当activity启动的时候,触发初始化view过程的是由Window对象的DecorView调用View(具体怎样从xml中读取是用L转载 2013-09-24 16:40:57 · 1051 阅读 · 0 评论 -
MotionEvent的getX(),getY()与getRawX(),getRawY()的区别
getRawX()和getRawY()获得的是相对屏幕左上角的坐标值 getX()和getY()获得的永远是view的触摸位置坐标(这两个值不会超过view的长度和宽度)。原创 2013-05-02 00:27:22 · 1042 阅读 · 0 评论 -
dispatchTouchEvent,onTouchEvent,onInterceptTouchEvent 解析
View 没有onInterceptTouchEvent事件, onTouchEvent 事件被dispatchTouchEvent调用 伪代码 public boolean dispatchTouchEvent(MotionEvent event) { if(mOnTouchListener != null&&mOnTouc原创 2013-05-01 00:45:29 · 1333 阅读 · 0 评论 -
使用androidpn来实现推送
公司做了一个手机软件需要及时通知用户. 本来想找个哥们做个c的长链接服务端,哪想这哥们找了个开源的linux下的c开发的chat服务端给我,还得自己研究文档,再做个用户关联接口把chat服务当消息中转,麻烦. 上网搜了一下看看有什么更合适的方案.发现有个开源的android push notification,简称androidpn. 正好公司的业务后端是java的,把androidpn融合在里原创 2013-05-02 15:44:16 · 875 阅读 · 0 评论 -
Android 的Margin和Padding属性
Android的Margin和Padding跟Html的是一样的。如下图所示:黄色部分为Padding,灰色部分为Margin。通俗的理解 Padding 为内边框,Margin 为外边框对应的属性为android:layout_marginBottom="25dip" android:layout_marginLeft="10dip" android:layout_mar原创 2013-05-02 15:44:24 · 637 阅读 · 0 评论 -
android:layout_gravity和android:gravity的区别
android:gravity和android:layout_gravity都是用来表示view横向和纵向的停靠位置,但是使用上是有差别的。 从名字上看,android:gravity是针对元素自身内部,而android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。比如说button: android:layout_gravity 表示按钮在界面原创 2013-05-02 15:44:22 · 612 阅读 · 0 评论 -
樱花漂落的动态壁纸
一个樱花飘落的动态壁的例子学习动态壁纸开发。 图片来源于樱花动态壁纸.apk, 源码见底部 动态墙纸的是一个比较特殊的APK。Android动态墙纸的本质是一个“Service”,这个Service通过AndroidManifest.xml文件中Service的intent-filter的action能够被主界面Launcher加载。http://schemas.原创 2013-05-02 15:44:18 · 1630 阅读 · 0 评论 -
MeasureSpec介绍及使用详解
一个MeasureSpec封装了父布局传递给子布局的布局要求,每个MeasureSpec代表了一组宽度和高度的要求。一个MeasureSpec由大小和模式组成。它有三种模式:UNSPECIFIED(未指定),父元素不对子元素施加任何束缚,子元素可以得到任意想要的大小;EXACTLY(完全),父元素决定自元素的确切大小,子元素将被限定在给定的边界里而忽略它本身大小;AT_MOST(至多),子元素至多原创 2013-05-02 15:44:20 · 617 阅读 · 0 评论 -
利用Intent监听应用程序的安装、替换、删除...
相关的Intent: Intent.ACTION_PACKAGE_INSTALL Intent.ACTION_PACKAGE_ADDED Intent.ACTION_PACKAGE_REPLACED Intent.ACTION_PACKAGE_REMOVED Intent.ACTION_PACKAGE_CHANGED Intent.ACTION_PA原创 2013-05-03 10:37:11 · 1357 阅读 · 0 评论 -
IntentService实现原理及内部代码
很多网友可能发现Android中除了Service还有一个IntentService,他们之间到底有哪些区别呢? 在继承关系上而言IntentService是Service的子类,内部实现的代码中涉及到一些Android入门开发者不了解的Looper,Android123在早期的文章中已经说明他们的用法,这里不再赘述,有关原理大家可以看源码实现如下:public abstract class转载 2013-05-13 22:22:09 · 582 阅读 · 0 评论 -
Android 屏幕分辩率相关问题
Android 可设置为随着窗口大小调整缩放比例及设定fixed的窗口大小。对于surface的控制在SurfaceHolder类中进行而Android 屏幕分辩率中已经有一个类DisplayMetics提供Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。为了获取DisplayMetrics 成员,首先初始化一个对转载 2013-08-11 22:32:22 · 531 阅读 · 0 评论 -
Android_自定义控件之设置文本的大小
一般我们要在我们自己的控件中放置文本的时候,都会通过Paint来实现:Paint paint = new Paint(); paint.setAntiAlias(true); paint.setTextSize(16); 但是,如果你在其他分辨率的手机上,查看文本的效果的时候,就会有问题,如果是在低分辨率的机器调试的话,放到高分辨率的机器上,就会感觉字体太小了;反之,太大。转载 2013-08-11 22:44:02 · 1622 阅读 · 0 评论 -
Android实用代码七段
一、获取应用程序下所有Activity public static ArrayList getActivities(Context ctx) { ArrayList result = new ArrayList(); Intent intent = new Intent(Intent.ACTION_MAIN,null); intent.set转载 2013-08-11 23:03:41 · 525 阅读 · 0 评论 -
onLayout与onMeasure
1. onMeasure 属于View的方法,用来测量自己和内容的来确定宽度和高度 ; view的measure方法体中会调用onMeasure2. onLayout 属于ViewGroup的方法,用来为当前ViewGroup的子元素的位置和大小 b. View的layout方法体中会调用onLayout3. onMeasure在onLayout之前调用4. 设置backgroun转载 2013-08-11 23:15:29 · 1449 阅读 · 0 评论 -
android屏幕 单位转换
在android内部会使用TypedValue.applyDimension函数将所有单位换算成px。public static float applyDimension(int unit, float value, DisplayMetrics metrics){ switch (unit) { case转载 2013-08-11 22:51:38 · 887 阅读 · 0 评论 -
android.view.WindowLeaked
Android的每一个Activity都有个WindowManager窗体管理器,同样,构建在某个Activity之上的对话框、PopupWindow也有相应的WindowManager窗体管理器。因为对话框、PopupWindown不能脱离Activity而单独存在着。1. 关闭activity后不能再弹出对话框.Activtity先finish,那Dialog就没得依附了,所以就会原创 2013-12-18 13:48:16 · 729 阅读 · 0 评论 -
Android sdk content loader 0%的解决方案
Eclipse在启动时,经常会碰到半天启动不起来的情况,罪魁祸首就是“Android sdk content loader 0%”,题主经常是受这玩意的百般折磨,大早上一来就被这扫了工作的激情,浪费了大把时间。Eclipse初始化不成功就干不了活,所以这事必须得解决。经过自己多次亲身测试,发现没有一种办法的百试百灵的,只有通过以下几种方案来一步一步地解决。方法/步骤转载 2015-03-18 16:58:31 · 475 阅读 · 0 评论