写了这么多了,接下来来回顾总结一下吧:

其中:

在布局中定义时:

1.文字 一般要用 sp; 因为美工 设计是一般用的都是px,到开发人员手中的时候,一般都要转化为sp;

2.边距和填充时:一般都要用 dp或者是 dip;

3.如果想要规范的话,一般采用 values文件,通过getResource().getXXX进行获取。

4. dimen文件:起到了适配的作用。values-hdpi:屏幕较大的手机(5.0,720X1270 或者更大)values-hdpi (中型手机) values-hdpi(小型手机: 240X480)

比如说:对于文字的适配:

xml中:

<TextView
android:id="@+id/main_title_cloude"
style="@style/skyprotect_textView"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#f8e4b7"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:text="@string/sky_protect_main_title"
android:textSize="@dimen/main_skypro_tv2"
/>

values-hdpi:里面写入: <dimen name="main_skypro_tv2"> 13sp</dimen>

values-hdpi:里面写入: <dimen name="main_skypro_tv2"> 12sp</dimen>

values-hdpi:里面写入: <dimen name="main_skypro_tv2"> 11sp</dimen>

这样针对于不同的手机:都能达到 既能让文字显示一行,还能让在不同大小的手机上显示相同的效果。两全其美。


public View addDivider() {

return mInflater.inflate(R.layout.te_divider, mContents);
}


public View addView(int layout) {
View view = mInflater.inflate(layout, null);
mContents.removeAllViews();
mContents.addView(view);
return view;
}


public void addView(View view) {
mContents.removeAllViews();
mContents.addView(view);

}

构造方法不能乱


学习Android自定义组件的几个步骤:
0. 对Android熟悉 (继承关系,类关系,对多数类比较熟悉常规方法),如果不熟悉就想写自定义组件根本不可能
1. 看官方文档关于自定义组件的介绍 http://developer.android.com/training/custom-views/index.html
2. 了解Android touch event 的工作流程 https://www.youtube.com/watch?v=EZAoJU-nUyI
3. 从最最简单的项目入手,了解他的架构,尝试自己写一个最简单的开源组件。这条微博推荐了三个不错的入门级开源项目可以学习:http://weibo.com/1628291124/C0mf ... me&type=comment
4. 慢慢由简单到复杂,不断补充自己知识,遇到问题读Android源代码了解更深层次原理。
5. 成就达成,不断练习,回馈开源社区
6. 用Google,不用Baidu,搜索用英文,不用中文。

做到这点的话,自定义控件就不在话下了。




更多相关文章

  1. Android跨平台应用开发
  2. [转]Google Android手机应用开发环境的搭建
  3. Android与IOS的优缺点比较
  4. [置顶] 成功为Android系统配上了GNU开发环境(有图、有视频、有真
  5. android 内部文件读取
  6. 请确保您的Android智能手机安全
  7. 基于android的智能家居之一MJPGstream
  8. 最新的数据显示,十分之四的 Android(安卓)用户还在吃煎饼
  9. 用于 Android(安卓)智能手机的 Android(安卓)Network Toolkit 应

随机推荐

  1. IntentService解析
  2. ANDROID 一键搞定JNI创建C头文件
  3. Android返回键的捕捉与完全退出
  4. Android中ViewPager的简单使用(底部圆点)
  5. Android(安卓)self_adaption of screen
  6. Android中不混淆类中函数
  7. 【android】/storage/sdcard, /sdcard, /mn
  8. Android(安卓)MVVM+DataBinding结合Dagge
  9. 全志A10平板电脑安装ubuntu 10.04LTS(与An
  10. 安卓开发_浅谈Android动画(二)