-----------------------------------------------
第一行代码
Day3
第三章
创建自定义控件
-----------------------------------------------
Questions
1. 如何px的实际大小与分辨率有关,那pt呢?一方面 1pt = 1.333333px ,另一方面 1pt = 1/72 in
2. java 里面比较字符串想通 为什么不能用== 是因为比较的指针么?
3.layout_weight 不是把剩下的空白区进行瓜分么?1:1 为啥都是平分,因为水平的这两个空间我都是定的wrap_content,
瓜分都得要等wrap完吧,难道不是瓜分剩下的?
Points
pt:磅数
1 Point = 1.3333333333333 Pixel
in
:英寸
1 inches = 2.54 cm
- Pixel↔m 1 m = 3779.5275593333 Pixel
- Pixel↔dm 1 dm = 377.95275593333 Pixel
- Pixel↔cm 1 cm = 37.795275593333 Pixel
- Pixel↔mm 1 mm = 3.7795275593333 Pixel
- Pixel↔in 1 in = 96 Pixel
- Pixel↔ft 1 ft = 1152 Pixel
- Pixel↔Pica 1 Pica = 16 Pixel
- Pixel↔Point 1 Point = 1.3333333333333 Pixel
- Pixel↔Twip 1 Pixel = 15 Twip
- Point↔m 1 m = 2834.6456695 Point
- Point↔dm 1 dm = 283.46456695 Point
- Point↔cm 1 cm = 28.346456695 Point
- Point↔mm 1 mm = 2.8346456695 Point
- Point↔Pixel 1 Point = 1.333333 Pixel
- Point↔in 1 in = 72 Point
- Point↔ft 1 ft = 864 Point
- Point↔Pica 1 Pica = 12 Point
- Point↔Twip 1 Point = 20 Twip
2. 我对dpi(dots per inch)的理解
首先,像素的实际大小是与分辨率(D),屏幕尺寸(L)有关的
所以说同样的200px在不同分辨率不同屏幕尺寸的长度是不一样的。这就要求有一个能衡量L D 变量影响的单位,也就是dpi(密度):屏幕每英寸包含的像素点。
现在像素的实际大小就只是与dpi有关(关联变量减少了,很好的方法)
所以,现在在160dpi的手机上,1dp = 1px ,320dpi的手机上, 1dp = 2px
这样就保证了,在任何device上,xxdp永远是一样长的,比如说:160dp永远是1inch(2.54cm)。
问题来了,保证了我想设置的长度在任何device上都是一样长的,但是不同device的长度是不一样的啊?
别人的理解
2. draw9patch
学会用draw9patch刻画可拉伸地方(左面黑边,上边黑边),以及内容现实区域(右边,下边黑边)
3. 学会理清思路,列出思路,和写好重要id名在编程
比如聊天界面的实现
导入资源图片
- received background
- send background
定制MainActivity布局:(main_activity.xml)
- ListView ( msg_list_view )
- EditText ( input_text )
- Button (send)
定制cell布局msg: ( msg_item.xml )
- LinearLayout ( left_layout )
- TextView ( left_msg )
- LinearLayout ( right_layout )
- TextView ( right_msg )
定义Msg类
- String content
- int type
- int RECEIVED = 0, Int SEND = 1
定义MsgAdatper
- 构造函数
- getView()
MainActivity
- 数据
- 定义Send Button
Term;