1. 常用的控件
- TextView:显示一段文本
- Button: 一个按钮
- EditText: 文本输入框
- ImageView: 图片显示
- ProgressBar: 进度条
- AlertDialog:对话框
- ProgressDialog:进度对话框
2. 四种布局
- LinearLayout:线性布局:
android:orientation: "vertical | horizontal"
android:layout_gravity="bottom | top | center_vertical"
...
- RealtiveLayout: 相对布局:
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_alignCenterInParent="true"
android:layout_above="true"
android:layout_toLeftOf="true"
android:layout_toRightOf="true"
android:layout_below="true"
...
- FrameLayout:Fragment用到
- TableLayout:
<TableRow>
3. ListView
采用viewHolder对控件实例进行缓存
....Adapter...{
@Override
public View getView(int position, View convertView, ViewGroup parent){
ViewHolder viewHolder;
if(convertView == null){
viewHolder = new ViewHolder();
viewHolder.name = "****";
...
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)convertView.getTag();
}
....opt ViewHolder...
}
}
4. 单位和尺寸
- 像素px: Android中的像素指的是物理像素,而css中的像素指的是相对像素。以iphone6为例,它的物理像素是:750×1334,而其css像素是:375×667,这里会牵扯到一个设备像素比(devicePixelRatio)的概念,可以参考移动端高清、多屏适配方案前几部分。
- dpi: Android中的密度单位,密度是指屏幕每英寸所包含的像素数。假设一个屏幕的长宽为:3英寸2英寸,分辨率为320480像素和640*960像素时,密度分别为160dpi和320dpi。
- dp:密度无关像素的意思,也被称为dip,它可以保证在不同密度的屏幕中显示比例保持一致。在160dpi的屏幕中,1dp==1px,而在320dpi的屏幕中,1dp==2px。
- sp:和dp类似,可以保证在不同分辨率屏幕中的字体显示比例保持一致。
5. Nine-patch图片:
保证图片不被拉伸,制作工具:draw9patch。参考文章:Android Nine-patch(.9.png)小结