随笔分类 - Android
移动开发
    
摘要:绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds()然后是draw(Canvas c)方法.有点注意的是背景drawable的实际大小会影响view组件的大小,drawable的实际大小通过 getIntrinsicWidth()和getIntrinsicHeight()获取,当背景比较大时view组件大小等于背景drawable的大 小 ...
        阅读全文
            
摘要:背景选择器 Selector的结构描述:<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:color="hex_color" android:state_pressed="true/false"“true”表示按下状态使用(例如按钮按下);“false”表示非按下状态使用
        阅读全文
            
摘要:getX()是表示Widget相对于自身左上角的x坐标而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理
        阅读全文
            
摘要:在Android游戏开发中我们不免要涉及到一些图形特效处理,今天主要看下Android平台下实现渐变效果。在 android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果android123使用一个简单的例子来说明。 一、LinearGradient线性渐变 在android平台中提供了两种重载方式来实例化该类分别为,他们的不同之处为参数中第一种方法可以用颜色数组,和位置来实现更细
        阅读全文
            
摘要:上一篇Android画图之Matrix(一) 讲了一下Matrix的原理和运算方法,涉及到高等数学,有点难以理解。还好Android里面提供了对Matrix操作的一系列方便的接口。 Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set, post和pre三种操作方式,除了translate,其他三种操作都可以指定中心点。 set是直接设置Matrix的值,每次set一次,整个Matrix的数组都会变掉。 post是后乘,当前的矩阵乘以参数给出的矩阵。可以连续多次使用post,来
        阅读全文
            
摘要:Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。 首先介绍一下矩阵运算。加法和减法就不用说了,太简单了,对应位相加就好。图像处理,主要用到的是乘法 。下面是一个乘法的公式: 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵。如下图。 没专业工具,画的挺难看。解释一下,上面的sinX和cosX,表示旋转角度的cos值和sin值,注意,旋转角度是按顺时针方向计算的。translateX和translateY表示x和y的平移量。scale是缩放的比例,1是不变,2是表示缩放1/2,这样子。 下面在Android上试试
        阅读全文
            
摘要:*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹*读取文件资源:1.读取res/raw下的文件资源,通过以下方式获取输入流来进行写操作InputStream is = ge
        阅读全文
            
摘要:1、新建一个项目:Lesson34_Timer2、MainActivity.java代码如下:package basic.android.timer;0203import java.util.Timer;04import java.util.TimerTask;0506import android.app.Activity;07import android.os.Bundle;08import android.os.Handler;09import android.os.Message;10import android.util.Log;11import android.view.View;1
        阅读全文
            
摘要:applicatiion上加上android:debuggable="true"加上权限:<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
        阅读全文
            
摘要:Parcelable 传递对象时候用Android序列化对象主要有两种方法,实现Serializable接口、或者实现Parcelable接口。实现Serializable接口是JavaSE本身就支持的,而Parcelable是Android特有的功能,效率比实现Serializable接口高,而且还可以用在进程间通信(IPC)中只有实现了Parcelable接口的类才能被放入Parcel中。Parcelable实现要点:需要实现三个东西1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下:writeToParcel (Parcel dest, int.
        阅读全文
            
摘要:一、隐藏标题栏//隐藏标题栏this.requestWindowFeature(Window.FEATURE_NO_TITLE);二、隐藏状态栏//隐藏状态栏this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);三、去掉所有Activity界面的标题栏 修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTit
        阅读全文
            
摘要:Launcher 36 x 36 px 48 x 48 px 72 x 72 px Menu 36 x 36 px 48 x 48 px 72 x 72 px Status Bar 24 x 24 px 32 x 32 px 48 x 48 px Tab 24 x 24 px 32 x 32 px 48 x 48 px Dialog 24 x 24 px 32 x 32 px 48 x 48 px List View 24 x 24 px 32 x 32 px 48 x 48 px
        阅读全文
            
摘要:在android开发过程当中,有的时候需要使用振动来提醒用户。首先就要得到使用权限,在menifest.xml里面声明一下就可以了<uses-permission android:name="android.permission.VIBRATE"/>然后就可以在程序里面使用 振动了,下面可以得到振动效果的类Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);最后就是控制振动时间vibrator.vibrate(100);在需要的地方做上面的操作就可以完成振动的效果了。
        阅读全文
            
摘要:1. 启动和关闭ADB服务(adb start-server和adb kill-server) 经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。当然,重启Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭adb服务,可以使用下面的命令。 adb kill-server 在关闭adb服务后,要使用如下的命令启动adb服务。 adb start-server 2 查询当前模拟器/设备的实例(adb devices) 有时需要启动多个模拟...
        阅读全文
            
摘要:Android JDK为我们提供了4种动画效果,分别是:AlphaAnimation,RotateAnimation,ScaleAnimation,TranslateAnimation. 今天我想讲解的是TranslateAnimation这个动画效果。也是本人在做一个移动图片的动画效果的项目时,遇到了一些问题。在网上查了很多资 料,搞了好几天。终于明白怎么使用这个TranslateAnimation,在本文中记录下来,以便以后忘记了可以查阅。 TranslateAnimation是移动的动画效果。它有三个构造函数,分别是: 1.public TranslateAnimation(Con...
        阅读全文
            
摘要:位置服务Android支持GPS和网络地图,通常将各种 不同的定位技术称为LBS。LBS是基于位置的服务(Location Based Service)的简称,它是通过电信移动运营商的无线电通信网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地 理坐标,或大地坐标),在地理信息系统(Geographic Information System,GIS)平台的支持下,为用户提供相应服务的一种增值业务。android.location的功能类Android 支持地理定位服务的API。该地理定位服务可以用来获取当前设备的地理位置。应用程序可以定时请求更新设备当前的地
        阅读全文
            
摘要:返回固定宽度 也就是视图实际上表现出来的宽度...也就是表现出来的宽度... 不是图片实际大小的宽度
        阅读全文
            
摘要:“当在xml文件中配置了 android:configChanges="keyboardHidden|orientation"属性,在横紧屏切换的时候不会重新执行 Activity的onCreate方法,只是执行onConfigurationChanged方法,否则切换的时候会重新执行onCreate方法
        阅读全文
            
摘要:在android开发的过程中,不同分辨率的兼容问题是经常遇到的.如下,在PAD应用开发的过程中,在PC上模拟器上运行的只是小分辨率的程序,而对于大小如同1027*768的,可能支持上不是很完美.除了把图片,布局文件放入不同的文夹中,如(drawable-mdpi, drawable-ldpi, layout-land.....)对大屏幕的支持还需要以下配置:<supports-screensandroid:smallScreens=["true" | "false"] android:normalScreens=["true" 
        阅读全文
            
摘要:TestPanels.javapackage com.panel;import java.util.ArrayList;import java.util.HashMap;import com.panel.EasingType;import com.panel.Panel.OnPanelListener;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.widget.GridView;import andr
        阅读全文
            
 
                    
                
 
 浙公网安备 33010602011771号
浙公网安备 33010602011771号