【边做项目边学Android】手机安全卫士09-手机防盗界面设置向导1

本次主要做手机防盗界面的设置向导功能界面的设计。

需求:

当用户进入手机防盗界面时,判断用户是否已经进行过设置向导:

  • 如果用户已经设置过手机防盗,则不再提示用户进入手机向导
  • 若还没有设置,则提示用户进入设置向导界面。

具体实现:

  • 1.当用户输入“手机防盗”密码正确时,进行判断用户是否进行过设置向导


/**
 * 判断用户是否进行过设置向导
 * @return
 */
private boolean isSetup(){
    return sp.getBoolean("isAlreadySetup", false);
}
  • 2.创建“设置向导”的Activity,并添加到AndroidManifest.xml清单文件中

SetupWizard1Activity.java



public class SetupWizard1Activity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.setup_wizard1);
    }

}
  • 3.添加xml布局文件/mobilesafe/res/layout/setup_wizard1.xml

    • 3.1.由于每个向导界面的标题文字样式都是统一的,因此可以将标题文字样式抽取出来:

      • /mobilesafe/res/values/style.xml

<style name="text_title_style">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">28sp</item>
    <item name="android:textColor">#ff00ff66</item>
</style>
    • 3.2.标题下面的分割线 因为后面要经常使用,此处也是将分割线抽象出来。

<style name="devide_line_style">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginTop">8dip</item>
    <item name="android:layout_marginBottom">8dip</item>
    <item name="android:background">@drawable/devide_line</item>
</style>
    • 3.3.正文内容样式

<style name="text_content_style">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">#ff00ff66</item>
</style>
    • 3.4.文字前的小星星

<style name="image_star_style">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:src">@android:drawable/btn_star_big_on</item>
    <item name="android:layout_marginLeft">8dip</item>
</style>

此处的图片资源使用了android自带的资源,使用@android下的图片资源的好处: 1. 减少程序的体积 2. 提高程序获取图片的速度

    • 3.5.进度显示图标

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dip"
    android:gravity="center_horizontal"
    android:orientation="horizontal" >

    <ImageView style="@style/image_status_on_style" />

    <ImageView style="@style/image_status_off_style" />

    <ImageView style="@style/image_status_off_style" />

	<ImageView style="@style/image_status_off_style" />
</LinearLayout>
    • 3.5.图标以及“下一步”

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip"
| center_horizontal" |
        android:orientation="vertical" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/setup1" />
    </LinearLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:drawableRight="@drawable/next"
        android:text="下一步" />
</RelativeLayout>
  • 4./mobilesafe/res/layout/setup_wizard1.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:background="@color/background"
    android:orientation="vertical" >

    <TextView
        style="@style/text_title_style"
        android:text="1. 欢迎使用手机防盗" />

    <ImageView style="@style/devide_line_style" />

    <TextView
        style="@style/text_content_style"
        android:text="您的手机防盗卫士可以:" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip"
        android:orientation="horizontal" >

        <ImageView style="@style/image_star_style" />

        <TextView
            style="@style/text_content_style"
            android:paddingTop="5dip"
            android:text="sim卡变更报警" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip"
        android:orientation="horizontal" >

        <ImageView style="@style/image_star_style" />

        <TextView
            style="@style/text_content_style"
            android:paddingTop="5dip"
            android:text="GPS追踪" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip"
        android:orientation="horizontal" >

        <ImageView style="@style/image_star_style" />

        <TextView
            style="@style/text_content_style"
            android:paddingTop="5dip"
            android:text="远程销毁数据" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip"
        android:orientation="horizontal" >

        <ImageView style="@style/image_star_style" />

        <TextView
            style="@style/text_content_style"
            android:paddingTop="5dip"
            android:text="远程锁屏" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >

        <ImageView style="@style/image_status_on_style" />

        <ImageView style="@style/image_status_off_style" />

        <ImageView style="@style/image_status_off_style" />

        <ImageView style="@style/image_status_off_style" />
    </LinearLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:gravity="center_vertical|center_horizontal"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/setup1" />
        </LinearLayout>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:drawableRight="@drawable/next"
            android:text="下一步" />
    </RelativeLayout>

</LinearLayout>
  • 5.界面跳转

if(isSetup()){
	Log.i(TAG, "加载手机防盗主界面");
}else{
	Log.i(TAG, "激活设置向导界面");
	finish();
	Intent intent = new Intent(getApplicationContext(), SetupWizard1Activity.class);
	startActivity(intent);
}
  • 6.显示效果

时间: 2024-10-13 23:00:11

【边做项目边学Android】手机安全卫士09-手机防盗界面设置向导1的相关文章

【边做项目边学Android】手机安全卫士01:splash界面ui

手机安全卫士项目是跟着黑马的视频做的. splash是飞洒.飞溅的意思,主要是用于完成一个产品logo显示,期间可以: 后台完成数据库初始化的操作 联网访问服务器,获取服务器最新信息(升级提示) 不同的日期显示出来不同logo,判断当前系统时间,素材一般从服务器上下载下来. 判断时间,根据不同时间显示不同的加载页面 布局文件:splash.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayou

【边做项目边学Android】手机安全卫士07-手机防盗之进入限制

上次写到在进入手机但·防盗界面时需要有密码限制,首先第一次进入时会弹出对话框提示用户设置密码:再次进入时会要求用户输入密码:这次来具体实现上述功能. 首次登录,设置密码 首先,我们的密码是保存在SharePreference中的"password"字段里的,在登录时后台需要校验该字段是否已经设置了密码,若未设置则弹出对话框让用户设置,否则要用户输入密码进入手机防盗界面: 校验是否设置了密码 @Override protected void onCreate(Bundle savedIn

【边做项目边学Android】手机安全卫士03:获取更新的服务器配置,显示更新对话框

配置应用程序在手机桌面显示的名称和图标-AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.liuhao.mobilesafe" android:versionCode="

【边做项目边学Android】手机安全卫士04_01:界面(Activity)之间的切换,Activity和任务栈

上一回说到,用户选择是否升级,若用户选择不升级,那么就要进入程序的主界面.下面要做的是从splash界面跳转到main界面. MainActivity创建 1.首先新建MainActivity: package com.liuhao.mobilesafe.ui; import com.liuhao.mobilesafe.R; import android.app.Activity; import android.os.Bundle; public class MainActivity exten

【边做项目边学Android】手机安全卫士10-设置向导之绑定SIM卡

上回主要做了设置向导界面的界面设计,主要涉及到界面的布局和一些控件的使用.这次要做设置向导界面的功能具体实现. 首先,4个界面分别是(重复度很大,这里就不再贴到正文中了) /mobilesafe/res/layout/setup_wizard1.xml /mobilesafe/res/layout/setup_wizard2.xml /mobilesafe/res/layout/setup_wizard3.xml /mobilesafe/res/layout/setup_wizard4.xml

【边做项目边学Android】手机安全卫士05_1:程序主界面

主界面布局(知识点:GridView) mainscreen.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=

【边做项目边学Android】手机安全卫士08-一些布局和显示的细节:State List

我们注意到有些应用里的按钮在点击时的显示状态和普通状态是不一样的,比如: 普通状态下: 选中状态下: 那这种效果是如何实现的呢?在Android系统中提供给我们一种方便与实现这种功能的方法即:state list drawable. StateListDrawable是在XML中定义的drawable对象,我们可以通过设置不同item下的图片来显示不同状态,这取决于 drawable对象的状态.例如,一个Button控件可以有不同的状态(点击.聚焦等),通过一系列的drawable对象,可以为每

【边做项目边学Android】手机安全卫士11-设置向导之设置安全号码

这次主要实现设置安全号码的功能,即当发现手机SIM卡信息发生改变时,会自动给安全号码发送一条报警短信.主要包括选择联系人功能.涉及到的知识点包括:带返回值的Intent,ListView数据适配器. 选择联系人功能 界面 用ListView来对读取的联系人进行展示 /mobilesafe/res/layout/select_contact.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayou

【边做项目边学Android】手机安全卫士05_2:程序主界面,为每个条目添加事件

为每个条目添加点击事件监听器 gv_main.setOnItemClickListener(this); 需要当前Activity实现OnItemClickListener接口,同时实现public void onItemClick(AdapterView<?> parent, View view, int position,long id)方法 /** * 当gridview的条目被点击的时候对应的回调 * parent : gridView * view : 当前被点击条目的 Linear