昨天正式发布了android 5,同时android developer网站也更新了,增加了创建Material Design风格的Android应用指南,也更新了Support Library,在support library增加了一些Material Design风格的控件和动画等,这里给大家简单介绍一下怎样开发material design风格的Android应用。
more
android 5使用Material Design风格
android提供了三种Material Design风格Theme。
分别是:
@android:style/Theme.Material (dark version)
继续阅读 »
Resource Monitoring Design Doc
Multiple Disk Support Design Doc
Oversubscription Design Doc
HTTP API Design Doc
Pluggable Containerizer Architecture
Task Resizing Design Doc
Maintenance Primitives Design Doc
Container terminated with non-terminal tasks
Dynamic Reservation Desgin Doc
Docker Containerizer Update
Task/Exe
继续阅读 »
上次说过使用主题,应用Material Design的样式,同时卡片布局也是Material Design的重要组成部分,今天来写写。
引言
在程序中创建复杂的Material Design 样式的 List和Card,可以使用RecyclerView和CardView组件,这两个组件是在最新的support v7包(version 21)中提供的。因此需要引入依赖包:
java
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:cardview-v7:+'
compile '
继续阅读 »
动画在Material Design设计中给用户反馈放用户点击时,并且在程序用户界面中提供连贯的视觉。Material主题为按钮(Button)和activity的转换提供了一些默认的动画,在android5.0(api 21)和更高的版本,你可以自定义这些动画和创建一个新动画:
Touch feedback(触摸反馈)
Circular Reveal(循环揭露效果)
Activity transitions(Activity转换效果)
Curved motion(曲线运动)
View state changes (视图状态改变)
more
自定义触摸反馈
触摸反馈在Material Design中在触摸点提供了一个即时视觉确认
继续阅读 »
之前已经写过通过应用主题和使用ListView, CardView,应用Material Design样式,同时都都可以通过support library向下兼容。今天要写的阴影和视图裁剪,无法向下兼容,请注意。
Material Design 为用户界面元素引入了深度这个元素。深度帮助用户理解各个元素之间的重要关联和帮助用户关注他们手上的任务。
视图的高度(elevation),通过Z属性表现,通过他的阴影确定:z值更高的视图投影出更大的阴影。视图只在Z=0的平面上投影处阴影;他们不会投影阴影在其他放在下面的视图上面和高于z=0的平面。
more
有更高Z值的视图挡住Z值较低的视图。无论如何,Z值不会影响到View的大小。
继续阅读 »
以下Drawables的功能帮助你在应用中实现Material Design:
图片资源着色
在android 5.0(api 21)和更高版本,可以着色bitmap和.9 png 通过定义透明度遮盖。你可以着色通过使用颜色资源或者主题的属性去解析颜色资源(比如,?android:attr/colorPrimary).通常我们创建一次,然后资源自适应主题。
more
你可以给BitmapDrawable或NinePatchDrawable对象着色使用setTint()方法。你可以可以在布局文件中使用android:tint和android:tintMode属性设置着色颜色和着色模式。
从图片中抽取高亮颜色
support
继续阅读 »
面向过程和面向对象
面向过程是祈使句,面向对象是主谓(宾)结构。
面向过程注重数据的存储和操作,面向对象注重用程序模拟生活逻辑。
面向过程数据和操作数据的过程是分离的,没有逻辑上的必然联系;面向对象中数据和操作数据的方法是逻辑上的整体,称之为对象。
面向对象的基本概念
对象:现实世界中的对象是我们认识世界的基本单元,世界就是由这些基本单元组成的。一切皆为对象;每个对象都是独一无二的;对象都有属性和行为;对象都属于某个类。
类:类是对一组具有共同属性和行为的对象的抽象,它是对象的蓝图和模板。
消息:对象与对象之间存在着一定的联系,这种联系通过消息的传递来实现。程序中的一切操作都通过向对象发送消息来实现,对象接收到消息后,
继续阅读 »
说在前面
这两天在帮同学的网站写客户端,要求的功能是点击菜单中的某一项显示一个网页,之前的一个客户端是直接调用Intent跳转默认浏览器来进行访问。这次想做成在应用中访问的,也就是使用WebView来显示,虽然学了安卓快一年了,却从来没有写过WebView,过程中遇到了一些问题,故此记录。
效果展示
正如gif所示,WebView往下滑隐藏Toolbar,往上滑显示Toolbar,往左滑后退,往右滑前进。
WebView下滑隐藏ToolBar,上滑显示ToolBar
使用了Matarial Disign的小伙伴应该很清楚,Google提供了CoordinatorLayout来使控件能够响应滚动事件,比如说当滚动Re
继续阅读 »
一个自定的dynamic_cast设计
一个运行时检查的自设计dynamic_cast转换系统:
- 包含2个预编译宏,CnDeclareRootRTTI 和CnDeclareRTTI, 宏的目的只是为了生成对应的代码, 实际手法和直接在类里码代码是一样意思;
- 一个简单的RTTI类型,每个基类和派生类将会自带一个RTTI的实例属性: ms_RTTI, RTTI类如下:
class CnRTTI
{
public:
CnRTTI (const char* pcName, const CnRTTI* pkBaseRTTI);
inline const char* GetName() const {return m
继续阅读 »
http://www.queness.com/post/13679/7-tips-for-improving-your-user-interface-design
继续阅读 »