数学函数

函数 描述
abs(x) 绝对值
ceil(x) 上入整数
cmp(x,y) 比较
exp(x) e的x次幂
fabs(x) 绝对值
floor(x) 下舍取整
log(x) log运算
log10(x) log10运算
max(x1,x2…) 取最大值
min(x1,x2…) 取最小值
modf(x) 返回X的整数部分与小数部分
pow(x,y) x**y
round(x[,n]) 四舍五入
sqrt(x) 平方根

随机数

函数 描述
choice(seq) 从序列中的元素中随机挑选一个元素
randrange([start,]stop[,step]) 从指定范围内按指定基数的集合中获取一个随机数
random() 随机生成一个实数,在[0,1)范围内
seed([x]) 改变随机数生成的种子seed
shuffle(lst) 将序列的所有元素随机排序
uniform(x,y) 随机生成一个实数,在[x,y]范围内

三角函数

函数 描述
acos(x) 反余弦
asin(x) 反正弦
atan(x) 反正切
atan2(y,x) 给定坐标的反正切
cos(x) 余弦值
hypot(x,y) 欧几里得范数sqrt(x*x+y*y)
sin(x) 正弦
tan(x) 正切
degrees(x) 弧度转换为角度
radians(x) 将角度转换成弧度

数学常量

  • pi 圆周率
  • e 数学常数e

标识符

在Python中标识符由字母、数字、下划线组成,但不能以数字开头
标识符区分大小写
以下划线开头的标识符是有特殊意义的,以单下划线开头(_foo)表示不能直接访问的类属性,需要通过类提供的借口进行访问
以双下划线开头的(__foo)代表类的私有成员,以双下划线开头和结尾的(__foo__)表示Python里特殊方法,如__init__()表示类的构造函数

保留字符

and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

变量类型

  • Numbers(数字)
    • int(有符号整形)
    • long(长整型)
    • float(浮点数)
    • comples(复数) a+bj或者comples(a,b)表示
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

类型转换

函数 描述
int(x[,base]) 将x转换为一个整数
long(x[,base]) 将x装换成一个长整型
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

算术运算符

运算符 描述
+
-
*
/
% 取模
**
// 取整除

比较运算符

运算符 描述
== 等于
!= 不等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

成员运算符

运算符 描述
in 是否在指定序列中
not in 是否不再指定序列中

身份运算符

运算符 描述
is 判断两个变量是不是引用自一个对象
is not 判断两个变量是不是引用不同的对象

Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色,样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法,大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。

Read More

  1. MaterialDesignLibrary
    MaterialDesignLibrary可以说是颇受开发者瞩目的一个控件效果库,能够让开发者在Android 2.2系统上使用Android 5.0才支持的控件效果,比如扁平、矩形、浮动按钮,复选框以及各式各样的进度指示器等。
    MaterialDesignLibrary还拥有SnackBar、Dialog、Color selector组件,可非常便捷地对应用界面进行设置。

    进度指示器样式效果设置:
    1
    2
    3
    4
    5
    <com.gc.materialdesign.views.ProgressBarCircularIndetermininate    
    android:id="@+id/progressBarCircularIndetermininate"
    android:layout_width="32dp"
    android:layout_height="32dp"
    android:background="# 1E88E5" />

Dialog

1
2
Dialog dialog = new Dialog(Context context,String title, String message);  
dialog.show();

  1. RippleEffect
    来自法兰西的Robin Chutaux开发的RippleEffect基于MIT许可协议开源,能够在Android API 9+上实现Material Design,为开发者提供了一种极为简易的方式来创建带有可扩展视图的header视图,并且允许最大程度上的自定制。

    用法(在XML文件中声明一个RippleView):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <com.andexert.library.RippleView  
    android:id="@+id/more"
    android:layout_width="?android:actionBarSize"
    android:layout_height="?android:actionBarSize"
    android:layout_toLeftOf="@+id/more2"
    android:layout_margin="5dp"
    ripple:rv_centered="true">

    <ImageView
    android:layout_width="?android:actionBarSize"
    android:layout_height="?android:actionBarSize"
    android:src="@android:drawable/ic_menu_edit"
    android:layout_centerInParent="true"
    android:padding="10dp"
    android:background="@android:color/holo_blue_dark"/>

    </com.andexert.library.RippleView>
  2. MaterialEditText
    AppCompat v21也为开发者提供了Material Design的控件外观支持,其中就包括EditText,但却并不好用,没有设置颜色的API,也没有任何Google Material Design Spec中提到的特性。于是,来自国内的开发者“扔物线”开发了MaterialEditText库,直接继承EditText,无需修改Java文件即能实现自定义控件颜色。

    自定义Base Color:

    1
    app:baseColor="# 0056d3"

自定义Error Color:

1
2
app:maxCharacters="10"  
app:errorColor="# ddaa00"

  1. Android-LollipopShowcase
    Android-LollipopShowcase是由来自奥地利的移动、后端及Web开发者Mike Penz所开发的演示应用,集中演示了新Material Design中所有的UI效果,以及Android Lollipop中其他非常酷炫的特性元素,比如Toolbar、RecyclerView、ActionBarDrawerToggle、Floating Action Button(FAB)、Android Compat Theme等。
  2. MaterialList
    MaterialList是一个能够帮助所有Android开发者获取谷歌UI设计规范中新增的CardView(卡片视图)的开源库,支持Android 2.3+系统。作为ListView的扩展,MaterialList可以接收、存储卡片列表,并根据它们的Android风格和设计模式进行展示。此外,开发者还可以创建专属于自己的卡片布局,并轻松将其添加到CardList中。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin">

    <com.dexafree.materiallistviewexample.view.MaterialListView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/material_listview"/>

    </RelativeLayout>
  3. android-floating-action-button
    Floating Action Button(FAB)是众多专家大牛针对Material Design讨论比较细化的一个点,通过圆形元素与分割线、卡片、各种Bar的直线形成鲜明对比,并使用色彩设定中鲜艳的辅色,带来更具突破性的视觉效果。也正因如此,在Github上,有着许多与FAB相关的开源项目,基于Material Design规范的开源Android浮动Action Button控件android-floating-action-button便是其中之一。

    其主要特性如下:

  • 支持常规56dp和最小40dp的按钮;
  • 支持自定义正常、Press状态以及可拖拽图标的按钮背景颜色;
  • AddFloatingActionButton类能够让开发者非常方便地直接在代码中写入加号图标;
  • FloatingActionsMenu类支持展开/折叠显示动作。
  1. android-ui
    android-ui是Android UI组件类库,支持Android API 14+,包含了ActionView、RevealColorView等UI组件。其中,ActionView可使Action动作显示动画效果,而RevealColorView则带来了Android 5.0中的圆形显示/隐藏动画体验。
  2. Material Menu
    Material Menu为开发者带来了非常酷炫的Android菜单、返回、删除以及检查按钮变形,完全控制动画,并为开发者提供了两种MaterialMenuDrawable包装。

    自定义颜色等操作:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // change color  
    MaterialMenu.setColor(int color)

    // change transformation animation duration
    MaterialMenu.setTransformationDuration(int duration)

    // change pressed animation duration
    MaterialMenu.setPressedDuration(int duration)

    // change transformation interpolator
    MaterialMenu.setInterpolator(Interpolator interpolator)

    // set RTL layout support
    MaterialMenu.setRTLEnabled(boolean enabled)
  3. Android-ObservableScrollView
    Android-ObservableScrollView是一款用于在滚动视图中观测滚动事件的Android库。它能够轻而易举地与Android 5.0 Lollipop引进的工具栏(Toolbar)进行交互,还可以帮助开发者实现拥有Material Design应用视觉体验的界面外观,支持ListView、ScrollView、WebView、RecyclerView、GridView组件。

    交互代码回调:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @Override  
    public void onUpOrCancelMotionEvent(ScrollState scrollState) {
    ActionBar ab = getSupportActionBar();
    if (scrollState == ScrollState.UP) {
    if (ab.isShowing()) {
    ab.hide();
    }
    } else if (scrollState == ScrollState.DOWN) {
    if (!ab.isShowing()) {
    ab.show();
    }
    }
    }
  4. Material Design Icons
    最后,再来介绍一下Google Material Design规范的官方开源图标集Material Design Icons。良心Google开源了包括Material Design系统图标包在内的750个字形,涵盖动作、音视频、通信、内容、编辑器、文件、硬件、图像、地图、导航、通知、社交等各个方面,适用于Web、Android和iOS应用开发,绝对是开发者及设计师必备的资源。
    图标格式主要包括:

  • SVG格式,24px和48px;
  • SVG和CSS Sprites;
  • 适用于Web平台的1x、2x PNG格式图标;
  • 适用于iOS的1x、2x、3x PNG图标;
  • 所有图标的Hi-dpi版本(hdpi、mdpi、xhdpi、xxhdpi、xxxhdpi)。