【Android 动画系列之补间(Tween)动画详解】教程文章相关的互联网学习教程文章

Android商城开发系列(十二)—— 首页推荐布局实现【代码】【图】

首页新品推荐的布局效果如下图:   这块布局是使用LinearLayout和GridView去实现,新建recommend_item.xml,代码如下所示: 1 <?xml version="1.0" encoding="utf-8"?>2 <LinearLayout3 xmlns:android="http://schemas.android.com/apk/res/android"4 android:orientation="vertical"5 android:layout_width="match_parent"6 android:layout_height="match_parent"7 android:background="#fff">8 9 <Lin...

Android自定义控件系列三:如何画画【图】

前面章节我们说了如何定义属性、如何定义宽高,这样之后组件的简单外形或轮廓就已经出来,或者说已经定义出了画布的大小,解下来就是如何在画布上挥毫泼墨了。组件(除了容器组件)实际上都是靠画出来的,通过系统提供的画笔(Paint)以及基本图形(圆、矩形、直线等)就可以完整的勾画出一个组件。下面就详细介绍如何画以及一些技巧:如何获取颜色一般情况下,要实现啥样的组件,是由美工设计出效果图,或者是网上找的些图片样式,这样就...

Android开发系列之全局变量【代码】

项目开发的过程中,可能会大量的使用全局变量,在android开发中,大多数人更偏向于使用application来保存全局变量。那么我们就先来了解下在android中,application究竟是什么?有什么作用?  Application类是用来维护应用程序全局状态。我们可以提供自己的实现,并在AndroidManifest.xml文件的<application>标签中指出它的名字,这将导致在创建应用程序时去实例化我们自己的Application类。Android系统会为每个程序运行时创建一个...

【原创】源码角度分析Android的消息机制系列(五)——Looper的工作原理【代码】

ι 版权声明:本文为博主原创文章,未经博主允许不得转载。 Looper在Android的消息机制中就是用来进行消息循环的。它会不停地循环,去MessageQueue中查看是否有新消息,如果有消息就立刻处理该消息,否则就一直等待。Looper中有一个属性:staticfinal ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>();这也就解释了,前面我们所说的我们可以通过ThreadLocal实现Looper在线程中的存取。除此之外,还有两个属性需要注...

Android开发系列(十九):为SimpleAdapter设置样式【图】

Adapter的作用:数据在adapter中做了处理之后,显示在视图上一般的对于ArrayAdapter来说,只需要把一个数组和一个样式传递给ArrayAdapter之后就可以在视图上用一个列表显示出这个字符串数组。例如下边的代码:listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ls)); 但是,比如我们手机的联系人目录所示,不仅仅是有列表,而且有头像,可能还有手机号码。所以,单纯的ArrayAdapter是不能够...

Android自定义控件系列二:自定义开关按钮(一)【图】

这一次我们将会实现一个完整纯粹的自定义控件,而不是像之前的组合控件一样,拿系统的控件来实现;计划分为三部分:自定义控件的基本部分,自定义控件的触摸事件的处理和自定义控件的自定义属性;下面就开始第一部分的编写,本次以一个定义的开关按钮为例,下面就开始吧:先看看效果,一个点击开关按钮,实现点击切换开关状态:为了能够讲解清晰,还是来一些基本的介绍。首先需要明确的就是自定义控件还是继承自View这个类,Google...

Android View系列一: View基础知识【代码】

1.什么是ViewView是Android中所有控件的基类,是一种界面层的控件的一种抽象,它代表了一个控件,除了View,还有ViewGroup(控件组),ViewGroup内部包含了许多控件,即一组View.ViewGroup继承View.2.View的位置参数View的位置由四个顶点决定:top left right bottom top:是左上角纵坐标. left:是左上角横坐标. right:是右下角横坐标. bottom:是右下角纵坐标. 这些坐标都是相对于View的父容器来说的,因此它是一种相对坐标得到View的宽度...

Android异步处理系列文章四篇之一使用Thread+Handler实现非UI线程更新UI界面【代码】【图】

目录:Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理 Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主...

Android学习系列(39)--Android主题和样式之系统篇(上)【图】

【基于最新的Android4.4的源码分析】每家公司或者每个移动团队无不想开发出一套自己的UI框架,融入自己的设计和特性,这必然会去修改android的ui。所以,学习和理解android的UI设计是最基础和非常有必要的。android ui设计最重要的就是主题和样式。1、位置在Android的frameworks/base/core/res/res/values目录下有一下几个文件:?1234themes.xmlthemes_device_defaults.xmlstyles.xmlstyles_device_defaults.xml分别定义了各种系统...

Cordova Android源码分析系列二(CordovaWebView相关类分析)

本篇文章是Cordova Android源码分析系列文章的第二篇,主要分析CordovaWebView和CordovaWebViewClient类,通过分析代码可以知道Web网页加载的过程,错误出来,多线程处理等。CordovaWebView类分析 CordovaWebView类继承了Android WebView类,这是一个很自然的实现,共1000多行代码。包含了PluginManager pluginManager,BroadcastReceiver receiver,CordovaInterface cordova, CordovaWebViewClient viewClient,CordovaChrome...

Android Metro风格的Launcher开发系列第二篇【图】

前言:各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客 Android Metro风格的Launcher开发系列第一篇写了如何配置Android开发环境,只是用文字和图片展示了开发Metro风格Launcher的初步设计和产品要求,这一篇文章将会从代码上讲解如何实现对应的UI效果,好了,评书开讲! Launcher主体框架实现: Launcher主体框架我选用的是大家所熟悉的ViewPage...

android黑科技系列——应用市场省流量更新(增量升级)原理解析【图】

一、前言最近在看热修复相关的框架,之前我们已经看过了阿里的Dexposed和AndFix这两个框架了,不了解的同学可以点击这里进行查看:Dexposed框架原理解析 和 AndFix热修复框架原理解析,然后还有最近很火的一个是腾讯的Tinker热修复框架,再看他的原理实现的时候,发现了他使用到了开源的文件差分工具bsdiff/bspatch,所以就单独用这篇文章来详细介绍一下这个工具,因为这个工具有一个很大的用途就是增量更新,也就是我们看到现在大...

【Android Studio安装部署系列】七、真机运行项目【图】

版权声明:本文为博主原创文章,未经博主允许不得转载。概述简单介绍下真机运行项目的操作步骤。手机连接电脑将手机通过数据线连接到电脑上,此时电脑会自动下载安装驱动程序。如果没有安装上的话,可以通过使用应用宝软件连接电脑和手机的方式下载安装驱动程序。注意:当使用应用宝连接手机和电脑的时候,此时Android Studio可能无法发现这个设备。那么就需要关闭应用宝软件,或者重新拔掉数据线重新连接。设置手机为USB调试模式具...

Android OpenGL ES零基础系列(三):OpenGL ES的渲染管道及VertexShader与FragmentShader【代码】【图】

前言在前2篇文章中,我们都说到着色器,且在第二篇中正式说到,这着色器只能用在OpenGL ES2.x等可编程管道里面,而在OpenGL ES1.x是不能用的。但我们一直没有说这是为什么,两者有什么区别。那这篇我们就一起来学习下OpenGL ES中的渲染管道。正文管道,英文名叫Pipeline,相信用过FaceBook图片加载库的同学对这个管道并不陌生,因为SimpleImageDrawee里面也是用的管道来对图片进行的一个处理。由于其底层也是C,因此我可以大胆的猜...

Android自己定义组件系列【6】——进阶实践(3)【图】

上一篇《Android自己定义组件系列【5】——进阶实践(2)》继续对任老师的《可下拉的PinnedHeaderExpandableListView的实现》进行了分析,这一篇计划中间插一段“知识点”,对Android中的事件分发机制进行解析。细心的朋友可能会发现,打开大牛写的Android项目,里面非常多组件都是自己定义的(这就是为什么界面和体验这么吸引你的原因),可是要灵活的去自己定义组件就必须对手势(也就是各种监听)必须熟悉,能处理好事件之间的关...