Android学习过程中的一些基础笔记,android笔记
【Activity】
创建一个Android Activity
http://blog.sina.com.cn/s/blog_4ca9ceef0100yjft.html
Activity <!-- 在Android中加注释 -->
================================
* 理解成窗口
* 在窗口中可以设置显示不同的界面
* 在 Activity 类中,
要编写代码,控制界面上控件的交互显示
* 一般情况下,一个窗口只对应显示一个界面
* 从一个 Activity 启动另一个 Activity
1) 写纸条
Intent intent =
new Intent(
当前窗口对象,
目标窗口类);
2) 传纸条
startActivity(intent);
Intent intent=getIntent();
PageModule module =(PageModule)intent.getSerializableExtra("module"); //序列化的类
控件大小
width="40dp"
文字大小
textSize="40sp"
监听器
====================================
布局 //以后改布局时如果有两个layout,注意要同时改两个布局的代码(不然findViewById容易报空)//String和drawable可以自己灵活的寻找,但layout不可以
====================================
* 相对布局 RelativeLayout
* 线性布局 LinearLayout
* 表格布局 TableLayout
* 帧布局 FrameLayout //框架布局
* 网格布局 GridLayout
相对布局 RelativeLayout //退拽操作只支持相对布局
//相对布局如果是放入绝对布局中,相对布局要使用绝对布局的params作为自己在绝对布局中的定位
=================================== //可重合
* 停靠父控件边界
alignParentTop 最上边 //="true"
alignParentRight 最右边
alignParentBottom 最底边
alignParentLeft 最左边
* 相对父控件居中
centerInParent 正中间 //="true"
centerHorizental 水平居中 Y轴
centerVertical 垂直居中 X轴
* 停靠周围控件边界
above 其他控件上边 挨着 //="@id/bt4"
below 其他控件下边
toLeftOf 其他控件左边
toRightOf 其他控件右边
* 与周围控件边界对齐
alignTop 与其他控件上边对齐 //="@id/bt5"
alignRight 与其他控件右边对齐
alignBottom 与其他控件下边对齐
alignLeft 与其他控件左边对齐
alignBaseline 与其他控件文本基线对齐
width="wrap_content" //包裹内容
="match_parent" //与父控件相匹配
"alignParentBottom" 最底边在代码中的实现方式
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
线性布局 LinearLayout
========================================
<LinearLayout orientation放在布局内> //布局内不重合
* 布局方向 //要么是垂直方向一个一个摆放,要么是水平方向一个一个摆放
//默认水平方向,在最上面
orientation= //
horizental //水平在上面
vertical //垂直在左边
* 按比例分配剩余空间
weight比例= //如果有三个数,一个不变,剩下两个加weight,它们两个就会按比例占据剩下的部分
1 //把要设置比例的按钮的widht设置为0dp
1.5
2.3
5.7
3
*) 垂直布局中,height="0dp" //垂直布局中,每一个部分都只能在自己那一行平移。
*) 水平布局中,width="0dp" //水平布局中,每一个部分都只能在自己那一列上下移动。 //1:37
* layout_gravity
重力引力
top
right
bottom
left
center
center_horizental
center_vertical
*) 垂直布局:
left
right
center_horizental
*) 水平布局:
top
bottom
center_vertical
表格布局 TableLayout
===================================== //布局行数不重合
<TableLayout stretchColumns="1,2"放在布局内> //拉伸相应的列使平均分布
* <TableRow>
表格的行,
在其中,添加其他控件
* 拉伸的列
strechColumns="0" //拉宽第1列
strechColumns="0,2" //拉宽第1和3列
strechColumns="2,3" //拉宽第3和第4列
strechColumns="1,2,3" //拉宽第2第3第4列
在表格布局中按钮的宽度是默认的匹配父控件,即使设定了android:layout_width="wrap_content"也没用
设置高度有用
帧布局 FrameLayout
======================================= //可重合
* 可以在控件上,
覆盖添加其他控件 //比如菜单
* layout_gravity
重力引力
top
right
bottom
left
center
center_horizental
center_vertical
right|center_vertical //右同时垂直居中
bottom|center_horizental //下同时水平居中
marginBottom="-80dp" //外边距 下面的外边距-80dp,有一部分在界面外 //控件的下边距
网格布局 GridLayout //与表格布局相识,但更复杂
==========================================
<GridLayout android:columnCount="4"放在布局内> //布局内不重合
是安卓4.0之后出来的版本才有的控件,不能在安卓2.2,2.3等低版本上使用
会报错,要在目录中倒数第四个文件中进行修改成只支持4.0以上版本,切换到代码页面进行改写
把支持的最低版本8(安卓2.3.3)改为14(安卓4.0)
* columnCount //只设置列数
列的数量 //
* column //放在控件内,比如Button内
制定放置的列
column="0" //下标0表示第一列
column="3"
* <Space /> //表示一个空格
* rowSpan="2" //放在控件内 //跨两行 //fill_vertical //填满所跨的行
跨行
* columnSpan
跨列
* layout_gravity //使其填满所跨的行或列
fill
fill_horizental
fill_vertical //填满所跨的行
* <Space />
添加空白
---------------------------------------------------------------------------------------------------------------------------
【layout】 //分开布局
<ImageView
android:id="@+id/action_favor"
style="@style/toolbar_action"
android:src="@drawable/ic_action_favor" />
【values/styles】
<style name="toolbar_action">
<item name="android:gravity">center</item>
<item name="android:layout_gravity">center</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:scaleType">center</item>
<item name="android:minWidth">44.0dip</item>
<item name="android:layout_weight">0.0</item>
</style>
【drawable】 //ic_action_favor.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/ic_action_favor_on_pressed" />
<