因为需要,最近几天忙着写来电管家这个小软件,现在已经基本写的差不多了,基本的功能也都已实现,就剩下后续的完善了,而之前的记事本项目最近几天没写,但是肯定还是会完成的。
来电管家的基本功能,这里主要做的是拦截。
1. 添加黑白名单
2. 选择拦截模式
3. 启用拦截时间段
4. 拦截开关
主要功能,就是通过用户选择开启拦截,并选择拦截模式,这时就会启动后台监听服务,监听来电,判断是否挂断,并且,用户可以自由选择拦截时间段,也就是在该时间段内才启用监听服务。
先来看界面:
从界面其实也可以看出,这里主要应用了ActivityGroup和Activity的组合使用,以达到分页标签的作用,类似很多软件,如QQ。
直接上代码:
main.xml 这个就是ActivityGroup的布局文件,图中的四个页面就是四个Activity,就位于主布局文件中的LinearLayout容器中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<GridView
android:layout_height="35dp"
android:id="@+id/gvTopBar"
android:layout_alignParentTop="true"
android:layout_width="fill_parent"
android:background="@drawable/tabbar_bg"
android:layout_centerVertical="true"
>
</GridView>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/gvTopBar"
android:src="@drawable/line"
/>
<LinearLayout
android:id="@+id/Container"
android:layout_below="@+id/gvTopBar"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
</LinearLayout>
</RelativeLayout>
</LinearLayout>
其中GridView用于放置顶部的分布菜单,ImageView就是图中的虚线,而最下面的LinearLayout则是放置四个页面的容器。
下面给出四个页面的布局文件
黑白名单页面布局文件 activity_add.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/layout"
>
<ListView
android:id="@+id/lv_show"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:cacheColorHint="#FFF" >
</ListView>
<RelativeLayout
android:id="@+id/add_layout"
android:layout_width=