本文适合于对Android开发有一定了解,正在Android入门中的小白
Github源码:无
Let's Go Android!
1.可视化界面编辑工具(如下图)
- 通常这种方式制作出的界面都不具有很好的屏幕适配性,而且难以胜任复杂界面的编写要求。
2.控件的宽和高都有三个可选值:wrap_content
,match_parent
和fill_parent
【match_parent = fill_parent(不推荐使用)
】,当然也可以自己指定一个固定的大小,比如android:layout_height="64dp"
,这样有时会在屏幕适配方面出现问题。
①android:gravity
指定文字的对齐方式,可选值有:top、bottom、left、right、center
等,可以用“|”来指定多个值。
②EditText的android:maxLines
属性指定了最大行数,输入内容超过最大行数的时候,文字就会向上滚动。
③ImageView,通过代码动态地更改其中的图片:imageView.setImageResource(R.drawable.picture_name)
。
④AlertDialog的几种常见形式以及自定义布局;
⑤ProgressDialog,若setCancelable()
中传入了false
,表示不能通过返回键取消,此时,必须在代码中做好控制,调用dismiss()
方法来关闭对话框。
⑥android:layout_margin
属性指定了控件在上下左右方向上偏移的距离,当然可以使用android:layout_marginTop、android:layout_marginLeft
等属性指定在某个方向上的偏移量。
4.可见属性
- 所有的Android控件都有可见属性,可选值有三种:
visible
(默认值,可见的),invisibl
(不可见,但仍占据原来的位置和大小,可认为透明了),gone
(不可见,不占空间)。 - 可以使用代码控制:
setVisibility()
,getVisibility()
方法,可选值有三种:View.VISIBLE,View.INVISIBLE,View.GONE
。
5.四种布局
LinearLayout
①如果不指定android:orientation
属性的值,则默认是horizontal
。
②gravity用于指定文字在控件中的对齐方式;layout_gravity
用于指定控件在布局中的对齐方式。
③android:layout_weight
属性让我们可以按照比例来定义控件的大小,注意:若按照比例定义宽度,则相应的控件的layout_width属性设”0dp”;
若两个控件指定了具体的宽度数值,另一个控件的layout_weight”1”,则另一个控件自动填满剩余的空间。RelativeLayout
①相对于父布局进行定位
android:layout_alignParentLeft = “true/false”
android:layout_alignParentRight = “true/false”
android:layout_alignParentTop = “true/false”
android:layout_alignParentBottom = “true/false”
②相对于控件进行定位
android:layout_above = “@id/..”
android:layout_below = “@id/..”
android:layout_toLeftOf = “@id/..”
android:layout_toRightOf = “@id/..”
当一个控件去引用另一个控件的id的时候,该控件一定要定义在引用控件的后面,否则会出现找不到id的情况。
③边缘对齐
android:layout_alignRight= “@id/..” //表示和另一个控件的右边缘对齐(以下类比)
android:layout_alignLeft= “@id/..”
android:layout_alignTop= “@id/..”
android:layout_alignBottom= “@id/..”
FrameLayout
TableLayout
①在TableLayout中每加入一个TableRow就表示在表格中添加了一行,TableRow中的控件是不能指定宽度的
②android:layout_span = “2”
让某个控件占据两列的空间(合并单元格)
③android:stretchColumns = “1”
,在布局的头属性里定义,表示:如果表格不能占满整个屏幕,就将第二列进行拉伸(计数从0开始)
6.引入布局以及创建自定义控件,参照相应的demo(以后会补充)
7.代码中动态销毁当前活动
( (Activity) getContext() ).finish();
原创文章,转载请注明出处:http://www.jianshu.com/p/b00b0a1ea221