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

其中:

在布局中定义时:

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. [转]Google Android手机应用开发环境的搭建
  2. 我为什么用Android 手机而不用 iPhone
  3. 用于 Android 智能手机的 Android Network Toolkit 应用
  4. 请确保您的Android智能手机安全
  5. Android 组件硬知识点
  6. Android核心分析之四 ---手机的软件形态
  7. 手机或android设备连接电脑,但是adb devices找不到设备。
  8. Android智能手机搜索不到路由器无线信号怎么办?
  9. 阿里云手机应用开发点滴

随机推荐

  1. Android获取当前位置(GPS和网络定位)
  2. Android(安卓)debug 问题集合
  3. Android使用SurfaceView播放视频,可以自适
  4. Android腾讯微薄客户端开发七:图片加圆角
  5. android中VideoView无法播放此视频
  6. Android(安卓)UI 之 ProgressBar、Progre
  7. android 设置控件 圆角
  8. Android之SharedPreferences数据保存
  9. Ubuntu 装 Courier New字体
  10. centos7中安装Android(安卓)SDK的方法步