*****1. GridView用法
1.1. 和ListView几乎一模一样
1.2. 多了几个属性:
android:numColumns="2" 表示有几列
android:verticalSpacing="8dp" 行之间的距离
android:horizontalSpacing="4dp" 列之间的距离
*2. 设置界面
抽取样式
<TextView
android:text="heheheh"
android:background="#000"
style="@style/TextTitleStyle"/>
<style name="TextTitleStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">48dp</item>
<item name="android:background">@color/global_blue</item>
<item name="android:gravity">center</item>
<item name="android:textColor">#FFF</item>
<item name="android:textSize">20sp</item>
</style>
4. 自定义组合控件
***4.1. View 和 ViewGroup,
View: 是所有控件的父类, 界面上一个矩形区域
ViewGroup: 里面可以包含别的View, 也继承自View
如果一个ViewGroup里面包含一些View, 里面这些View可以称之为这个ViewGroup的子View,
里面的子View称外面的ViewGroup为父View
***4.2. 添加子View
View view = View.inflate(getContext(), R.layout.view_setting_item, null);
this.addView(view);
6. 自定义属性
reference 表示引用,参考某一资源ID
string 表示字符串
color 表示颜色值
dimension 表示尺寸值
boolean 表示布尔值
integer 表示整型值
float 表示浮点值
fraction 表示百分数
enum 表示枚举值
flag 表示位运算
6.1. 在 res/values/ 新建 attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="SettingItemView">
<attr name="sivName" format="string"/>
</declare-styleable>
</resources>
6.2. 在布局文件里使用
xmlns:itheima="http://schemas.android.com/apk/res/com.itheima.mobilesafe80"
<com.itheima.mobilesafe80.view.SettingItemView
android:id="@+id/siv_setting_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
itheima:sivName="自动更新设置"
android:background="@drawable/selector_setting_item_first" />
6.3. 解析属性, 使用
String title = attrs.getAttributeValue(
"http://schemas.android.com/apk/res/com.itheima.mobilesafe80",//命名空间 "sivName"//属性名);
TextView tvTitle = (TextView) view.findViewById(R.id.tv_setting_item_title);
tvTitle.setText(title);
*****7. 自动更新设置
点击设置条目的时候保存到sp
***8. 如果用户没有设置过密码, 弹出初始化密码对话框, 如果已经设置过了, 弹出密码验证对话框
***9. 手机防盗页面跳转逻辑
9.1. 在初始化密码对话框设置完成, 跳转到第一个设置向导页面
9.2. 在密码验证对话框输入正确, 判断有没有完成5个设置向导页,
如果没完成, 跳转到第一个设置向导页面
如果完成了, 跳转到手机防盗页面
***10. 5个设置向导页面(至少写2两个)
11. 手机防盗页面
12. Activity切换动画
13. 手势滑动
onTouchEvent, MotionEvent要知道
GestureDetector了解
1.1. 和ListView几乎一模一样
1.2. 多了几个属性:
android:numColumns="2" 表示有几列
android:verticalSpacing="8dp" 行之间的距离
android:horizontalSpacing="4dp" 列之间的距离
*2. 设置界面
抽取样式
<TextView
android:text="heheheh"
android:background="#000"
style="@style/TextTitleStyle"/>
<style name="TextTitleStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">48dp</item>
<item name="android:background">@color/global_blue</item>
<item name="android:gravity">center</item>
<item name="android:textColor">#FFF</item>
<item name="android:textSize">20sp</item>
</style>
4. 自定义组合控件
***4.1. View 和 ViewGroup,
View: 是所有控件的父类, 界面上一个矩形区域
ViewGroup: 里面可以包含别的View, 也继承自View
如果一个ViewGroup里面包含一些View, 里面这些View可以称之为这个ViewGroup的子View,
里面的子View称外面的ViewGroup为父View
***4.2. 添加子View
View view = View.inflate(getContext(), R.layout.view_setting_item, null);
this.addView(view);
6. 自定义属性
reference 表示引用,参考某一资源ID
string 表示字符串
color 表示颜色值
dimension 表示尺寸值
boolean 表示布尔值
integer 表示整型值
float 表示浮点值
fraction 表示百分数
enum 表示枚举值
flag 表示位运算
6.1. 在 res/values/ 新建 attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="SettingItemView">
<attr name="sivName" format="string"/>
</declare-styleable>
</resources>
6.2. 在布局文件里使用
xmlns:itheima="http://schemas.android.com/apk/res/com.itheima.mobilesafe80"
<com.itheima.mobilesafe80.view.SettingItemView
android:id="@+id/siv_setting_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
itheima:sivName="自动更新设置"
android:background="@drawable/selector_setting_item_first" />
6.3. 解析属性, 使用
String title = attrs.getAttributeValue(
"http://schemas.android.com/apk/res/com.itheima.mobilesafe80",//命名空间 "sivName"//属性名);
TextView tvTitle = (TextView) view.findViewById(R.id.tv_setting_item_title);
tvTitle.setText(title);
*****7. 自动更新设置
点击设置条目的时候保存到sp
***8. 如果用户没有设置过密码, 弹出初始化密码对话框, 如果已经设置过了, 弹出密码验证对话框
***9. 手机防盗页面跳转逻辑
9.1. 在初始化密码对话框设置完成, 跳转到第一个设置向导页面
9.2. 在密码验证对话框输入正确, 判断有没有完成5个设置向导页,
如果没完成, 跳转到第一个设置向导页面
如果完成了, 跳转到手机防盗页面
***10. 5个设置向导页面(至少写2两个)
11. 手机防盗页面
12. Activity切换动画
13. 手势滑动
onTouchEvent, MotionEvent要知道
GestureDetector了解