Android基础
小松鼠_莲鹿
因为喜欢!
展开
-
ListView&ExpandableListView在ScrollView中不能显示完全
最近做界面时发现ScrollView中嵌套ListView 结果界面中最多只能显示一个item,后来多方搜索才知道:android的设计中是不提倡这种设计的。根据官方标准,ScrollView中是不能嵌套具有滑动效果的View的,比如GridView,Listview,ExpandableListView。但是实际中又需要这种设计:外层具有滑动效果,内部有List结构。就需要用Scroll原创 2015-01-26 15:26:26 · 1266 阅读 · 0 评论 -
自定义Camera
实现的功能是,第三方调用系统相册,可以选择进入此自定界面。可以预览图片。并且返回图片存储路径(第三方可以根据filePath获得图片并展示)布局文件:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"原创 2015-12-23 19:17:57 · 428 阅读 · 0 评论 -
Android实现滑动的7种方法
在Android4.x之后,滑动操作大量的出现在Android系统中,滑动的操作方式具有更好的用户体验。所以本章会对Android中实现滑动效果的方式做一个小归纳。 在介绍滑动方法前,先讲一下Android的坐标系,Android的坐标系分为两种。 1,Android坐标, 以屏幕的左上角为坐标0点,0点向右为X轴正方向,0点向下为Y轴的正方向。在触摸事件中eve原创 2016-06-02 15:36:42 · 3719 阅读 · 0 评论 -
Android export jar file和代码混淆。
今天我要将的不是打包apk,而是一个项目打包成第三方jar,供别人使用。例如,这样一个项目:(本身也引用了第三的jar),怎样打包成一个简单的jar呢。先给大家介绍一个eclipse的插件,net.sf.fjep.fatjar_0.0.31.jar, fatjar插件解压net.sf.fjep.fatjar_0.0.31.zip后将plugins目录下的net.sf原创 2016-07-15 17:11:51 · 625 阅读 · 0 评论 -
Android 从头开始
今天特别的倒霉,笔记本的硬盘坏了。我勒个去,好多东西都没备份!(以后一定要养成定时备份的习)。所以一切从零开始1,安装JDK。进入Oracle官网(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下载,雨自己系统相匹配的jdk。下载完后点击安装(默认设置就好,一路原创 2016-11-02 17:35:10 · 417 阅读 · 0 评论 -
Eclipse项目转Android Studio项目
概要: Google为了方便我们使用Android Studio,提供了两种导入Eclipse代码的模式:一、兼容Eclipse模式,二、生成全新的Android Gradle Project。我们先看兼容模式。原创 2017-02-06 15:55:52 · 345 阅读 · 0 评论 -
AppWidgetProvider的使用
一介绍:AppWidgetProvider 是Android用于生成桌面小部件的类,它继承自BroadCastReceiver.所以它本质上是一个广播接受者,谨记这一点,AppWidgerProvider的很多功能都好理解了。如图:二开发一个桌面小部件的步骤我会根据一个小demo,来记录整个桌面的开发流程,先看一下demo的效果(是一个时钟和文本用来形象的显示时原创 2017-02-16 16:55:08 · 6310 阅读 · 0 评论 -
Android Matrix(变形矩阵)
概要:Matrix(矩阵),这是一个数学的概念。通常的nxm(n行,m列)行列数是不受限制的。但这里主要讲的是3x3矩阵(3行3列)如图:Matrix对图形的变形通常有如下四种形式:Translate 平移变换 Rotate 旋转变换 Scale 缩放变换Skew 错切变换转载 2017-02-20 17:33:58 · 926 阅读 · 0 评论 -
Android.graphics.Camera
概要:Camera(相机),但是这里的android.graphics.Camera不同于hardware.Camera。它主要用于2d图像实现3d效果。Camera的一系列,旋转,平移方法。实质上改变的是内部的Matrix变量。最后我们可以通过camera.getMatrix(matrix)方法。获取Matrix的值。之后就可以通过Matrix来改变图像了。分析:原创 2017-02-21 18:47:35 · 2433 阅读 · 0 评论 -
Android Notification
概要Notification通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容。比较熟悉的通知有:短信同事,文件下载通知,以及在音乐播放时,在通知栏有播放通知界面可以控制播放的暂停播放。有几点特性:通知是运行在system server进程中的,由NotificationManagerService管理。Notificat原创 2017-02-14 13:08:48 · 236 阅读 · 0 评论 -
AndroidStudio中gradle,buildToolsVersion,complieSdkVersion的关系
一概要:AndroidStudio:是Google官方基于IntelliJ IDEA开发的一个Android 应用开发工具。相对于之前的Eclipse实在是太好用了。Gradle:是AndroidStudio的管理工具,它可以完成Android App的编译、打包等工作。buildToolsVersion:是Android构建工具的版本,其中包括打包工具aapt,dx等。通过SDK原创 2017-07-20 15:03:08 · 2063 阅读 · 0 评论 -
AndroidStudio 打包apk笔记
一,概要:一个App开发完了之后,我们需要对其进行打包,然后才能发布。Android Studio里面就集成了打包工具,非常方便。下面归纳两种打包的方式:Generate Signed APK(可视化的操作)。Gradle(直接在Gradle中配置好)。二,签名文件,(Android Studio默认生成的是jks文件,就像Eclipse中keystore)1,其实原创 2017-07-25 18:10:43 · 483 阅读 · 0 评论 -
Widget基础用法
这边只是一个简单的时钟提示Widget。分五个步骤:1,编写Widget的UI布局2,设定Widget的配置信息3,实现AppWidgetProvider4,创建Service5,配置清单文件。1,编写Widget的UI布局,只是RelativeLayout中添加一个TextView。Widget布局支持FrameLayout,LinearLayout,Rela原创 2015-12-22 17:02:36 · 413 阅读 · 0 评论 -
初识RecyclerView
RecylerView是Android5.0时推出的ListView与GridView的升级版。RecylerView的一些基本特性:RecylerView的Item的显示格式,有LayoutManager设定。RecylerView的Item间的分割。ItemDecoration可以定义RecylerView的Item增加和删除的动画。仅仅关注如何回收与复用View.原创 2015-12-09 16:35:02 · 366 阅读 · 0 评论 -
Serializable&Parcelable
Serializable 与Parcelable都是对Java对象实现序列化,反序列化的一种机制。序列化:把Java对象转换为字节序列,并且存储到一个存储媒介的过程。反序列化:与序列化相反,把存储媒介上的字节序列转换成Java对象的过程。序列化和反序列化中三个关键点:Java对象,字节序列,和存储媒介。序列和反序列针对的只是Java对象的数据,无关方法。字节序列,例原创 2015-09-24 15:07:00 · 404 阅读 · 0 评论 -
Activity 间的动画切换
现在所有的App在界面切换时都会带动画效果,这样可以提高用户体验;添加切换动画的方式,我只知道两种:1,在界面切换操作后面使用overridePendingTransition方法2,在ActivityManifest清单文件中的Activity,或Application的theme属性中注明如果大家知道其他的方法,可以指点我这个菜鸟。首先是编写动画文件:translate_l原创 2015-05-13 11:23:56 · 384 阅读 · 0 评论 -
Android-drawable资源-clipdrawable
在res/drawable中有clip标签,它的作用是在drawable属性所指定的图片上截取部分图片!可以用clipDrawable制作图片进度条 属性分析:drawable=“@drawable/..”只要截取的原图 clipOrientation=“horizontal” 水平方向原创 2015-05-20 15:03:08 · 424 阅读 · 0 评论 -
Android-drawable资源-LayerDrawable
res/drawable中的layer-list标签。对应Android中的LayerDrawable;中可以填加。在layer-list中声明的drawable资源,会按照列表的顺序绘制,最后一个绘制在最上层。 下面是两个实例: 1,layer_list.xml: <item android:id="@android:id/backgr原创 2015-05-20 16:10:02 · 643 阅读 · 0 评论 -
Android-drawable资源-ShapeDrawable
在Android中布局的时候,难免会用到shape自定图形做背景。自己做了个归纳(如果对你有帮助,麻烦写下评论哈):<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:dither="true"> <原创 2015-05-11 14:02:53 · 444 阅读 · 0 评论 -
Android-drawable资源-BitmapDrawable
Bitmap表示一个位图图像,Android中支持三种位图图像:png(preferred) ,jpg(acceptable), gif(discouraged);图片的文件名可以直接作为资源的id,来引用一个位图图像;而xml 的作用是作为位图图像的一个别名,并且提前指定一些属性。 属性介绍:<bitmap xmlns:android="http://schemas.andro原创 2015-05-21 14:08:57 · 720 阅读 · 0 评论 -
Android-drawable资源-StateListDrawable
StateListDrawable可能大家比较陌生,当时大家一定很熟悉,StateListDrawable就是对应的类。它是由多个条件选择图片,组成一个整体的图形!每一个item对应一种状态匹配,以及这种状态下的drawable资源。每次装填发生改变时,都会从上到下遍历这个状态表,第一个和它匹配将会被调用,而不是再适合的。下面是所有的状态列表:代码实例原创 2015-05-20 18:29:46 · 473 阅读 · 0 评论 -
Android-drawable资源-ScaleDrawable
ScaleDrawable表示将一个drawable以它高宽的百分比形式表示。ScaleDrawable属性分析:<scale xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/aa" //指定draw原创 2015-05-22 15:29:33 · 634 阅读 · 0 评论 -
Android-drawable资源-RotateDrawable
RotateDrawable表示将一个Drawable资源,以平面旋转多少度的后的形式(基于level)。RotateDrawable的属相介绍:(res/drawable/rotate.xml)<rotate xmlns:android="http://schemas.android.com/apk/res/android" android:visible="true"原创 2015-05-22 15:56:36 · 511 阅读 · 0 评论 -
Android 系统栏,状态栏的隐藏
有时候我们需要我们的界面有更多我的展示空间,这个时候我们通常会考虑隐藏我们的状态栏和标题栏。同时也希望我们依然可以通过向下滑的方式,展示并使用系统栏。下面提供一个实现方式: 1,定义一个工具类,在onCreate方法中调用hideSystemUI方法: package com.pplive.movie3d.utils;import android.app.Activit原创 2015-09-06 15:18:06 · 1219 阅读 · 0 评论 -
自定义缓冲加载界面
先看一下效果图:圆圈的drawable文件:res/drawable/shape_star<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" android:innerRadiusRatio="3" andr原创 2015-09-28 15:29:14 · 510 阅读 · 0 评论 -
Android-drawable资源-InsetDrawable
InsetDrawable对应res/drawable/下的inset标签,他表示一个drawable资源以制定内边距的方式内嵌入另一个drawable资源文件。不同于drawable的padding属性,padding制定drawable内图与自身的内边距。当View需要的背景比边框小的时候比较适合使用InsetDrawable。属性解析:(res/drawable/inset.xml)原创 2015-05-21 10:16:33 · 581 阅读 · 0 评论 -
获得屏幕的高宽
获得屏幕的高宽(包含NavigationBar)正常情况:/** * 獲得屏幕的寬度 * @param context * @return */ public static int getScreenWidth(Context context){ WindowManager mWm=(WindowManager) context.原创 2015-10-08 16:53:57 · 496 阅读 · 0 评论 -
SparseArray
概要:SparseArray是android.util中提供的类,用于存储整数-Object映射。相对于我们常用的HashMap,它的性能更好:1,避免了自动装箱过程。(java中将基本数据类型自动转化成转载器数据类,拆箱:将装载器数据类型转化成基本数据类型);2,使用二分法对SparseArray的key检索。分析:public class SparseArray i原创 2017-11-08 16:39:47 · 392 阅读 · 0 评论