安卓_手机卫士_第三天(手机防盗向导页构建,selector,页面平移动画)

手机防盗向导页构建

手机防盗页面逻辑

输入密码成功后
根据是否设置完成四个导航界面决定跳转到导航界面一,还是手机防盗列表界面

  • 1,跳转到导航界面的第1个,描述功能

      跳转到导航界面的第2个,必须,绑定sim卡,才可以跳转到第三个界面
      跳转到导航界面的第3个,必须输入电话号码,(两种途径(1,输入2,选择))
      跳转到导航界面的第4个,手机防盗的总开关,开启
    
  • 2,手机防盗功能列表界面

        展示导航界面三已选中手机联系人号码
        展示是否开启防盗保护
        重新对导航界面设置
    

selector

图片选择器,实现按钮点击放开不同图片

selector放置的路径res/drawable/selector.xml:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
          android:drawable="@drawable/button_pressed" /> <!-- 选中按钮图片 -->
        <item android:state_focused="true"
          android:drawable="@drawable/button_focused" /> <!-- 按钮获取焦点图片 -->
        <item android:state_hovered="true"
          android:drawable="@drawable/button_focused" /> <!-- 平板电视,悬浮选中某个应用图片 -->
        <item android:drawable="@drawable/button_normal" /> <!-- 默认图片-->
    </selector>

使用selector

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:background="@drawable/selector" />

9patch

为什么要用点9图片?因为android手机分辨率不同,因此要按需求自动拉伸图片。
制作9Patch图的工具位于 sdk/tools/draw9patch.bat
*.9.png

  • 上边线控制水平拉伸
  • 左边线控制竖直拉伸
  • 右边线和下边线控制内容区域

9patch

页面平移动画

下一页,上一页使用平移动画
原理图:

  • 上一页移入activity:

    (-屏幕宽度,y)------>(0,y)
    
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="-100%p"
    android:toXDelta="0"
    android:duration="500">
</translate>
  • 上一页移出activity:

    (0,y)-------------->(屏幕宽度,y)
    
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:toXDelta="100%p"
    android:duration="500">
</translate>

调用:

        int enterAnim=R.anim.trans_pre_in;
        int exitAnim=R.anim.trans_pre_out;
        overridePendingTransition(enterAnim, exitAnim);

这里写图片描述

  • 下一页移入activity:

    (屏幕宽度,y)-------------->(0,y)
    
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="100%p"
    android:toXDelta="0"
    android:duration="500">
</translate>
  • 下一页移出activity:

    (0,y)————–>(-屏幕宽度,y)

<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:toXDelta="-100%p"
    android:duration="500">
</translate>

调用:

        int enterAnim=R.anim.trans_next_in;
        int exitAnim=R.anim.trans_next_out;
        overridePendingTransition(enterAnim, exitAnim);

这里写图片描述

下一页移入动画 (屏幕宽度,y)-------------->(0,y)
下一页移出动画 (0,y)-------------->(-屏幕宽度,y)

防盗页布局与示例代码

第一页

这里写图片描述
布局

<?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" >
    <TextView
        style="@style/TitleStyle"
        android:text="1,欢迎使用手机防盗"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="18sp"
        android:layout_margin="5dp"
        android:text="您的手机防盗卫士:"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="18sp"
        android:gravity="center_vertical"
        android:drawableLeft="@android:drawable/star_big_on"
        android:text="sim卡变更报警"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="18sp"
        android:gravity="center_vertical"
        android:drawableLeft="@android:drawable/star_big_on"
        android:text="GPS追踪"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="18sp"
        android:gravity="center_vertical"
        android:drawableLeft="@android:drawable/star_big_on"
        android:text="远程数据销毁"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="18sp"
        android:gravity="center_vertical"
        android:drawableLeft="@android:drawable/star_big_on"
        android:text="远程锁屏"/>
    <!-- 让内部点的控件水平居中 -->
    <LinearLayout 
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView 
            android:background="@android:drawable/presence_online"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:background="@drawable/setup1"
            android:layout_centerInParent="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <!-- 图片选择器,在选中和未选中的过程中,切换展示图片 -->
        <Button
            style="@style/nextBtn"/>
    </RelativeLayout>
</LinearLayout>

代码

public class Setup1Activity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_setup1);
    }

    public void nextPage(View view){
        Intent intent = new Intent(getApplicationContext(), Setup2Activity.class);
        startActivity(intent);

        finish();

        //开启平移动画
        overridePendingTransition(R.anim.next_in_anim, R.anim.next_out_anim);
    }
}
第二页

这里写图片描述
布局

<?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" >
    <TextView
        style="@style/TitleStyle"
        android:text="2,手机卡绑定"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="18sp"
        android:layout_margin="5dp"
        android:text="通过绑定sim卡:\n下次重启手机如果发现sim卡变化,就会发送报警短信"/>
    <!-- 自定义组合控件 -->
    <com.itheima.mobilesafe74.view.SettingItemView 
        xmlns:mobilesafe="http://schemas.android.com/apk/res/com.itheima.mobilesafe74"
        android:id="@+id/siv_sim_bound"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        mobilesafe:destitle="点击绑定sim卡"
        mobilesafe:desoff="sim卡未绑定"
        mobilesafe:deson="sim卡已绑定">
    </com.itheima.mobilesafe74.view.SettingItemView>
    <!-- 让内部点的控件水平居中 -->
    <LinearLayout 
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
         <ImageView 
            android:background="@android:drawable/presence_online"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:background="@drawable/bind"
            android:layout_centerInParent="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <!-- 图片选择器,在选中和未选中的过程中,切换展示图片 -->
        <Button
            style="@style/preBtn"/>
        <Button
            style="@style/nextBtn"/>
    </RelativeLayout>

</LinearLayout>

代码

package com.itheima.mobilesafe74.activity;

import com.itheima.mobilesafe74.R;
import com.itheima.mobilesafe74.utils.ConstantValue;
import com.itheima.mobilesafe74.utils.SpUtil;
import com.itheima.mobilesafe74.utils.ToastUtil;
import com.itheima.mobilesafe74.view.SettingItemView;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;

public class Setup2Activity extends Activity {
    private SettingItemView siv_sim_bound;

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

        initUI();
    }

    private void initUI() {
        siv_sim_bound = (SettingItemView) findViewById(R.id.siv_sim_bound);
        //1,回显(读取已有的绑定状态,用作显示,sp中是否存储了sim卡的序列号)
        String sim_number = SpUtil.getString(this, ConstantValue.SIM_NUMBER, "");
        //2,判断是否序列卡号为""
        if(TextUtils.isEmpty(sim_number)){
            siv_sim_bound.setCheck(false);
        }else{
            siv_sim_bound.setCheck(true);
        }

        siv_sim_bound.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //3,获取原有的状态
                boolean isCheck = siv_sim_bound.isCheck();
                //4,将原有状态取反
                //5,状态设置给当前条目
                siv_sim_bound.setCheck(!isCheck);
                if(!isCheck){
                    //6,存储(序列卡号)
                        //6.1获取sim卡序列号TelephoneManager
                        TelephonyManager manager = (TelephonyManager)
                                getSystemService(Context.TELEPHONY_SERVICE);
                        //6.2获取sim卡的序列卡号
                        String simSerialNumber = manager.getSimSerialNumber();
                        //6.3存储
                        SpUtil.putString(getApplicationContext(), ConstantValue.SIM_NUMBER, simSerialNumber);
                }else{
                    //7,将存储序列卡号的节点,从sp中删除掉
                    SpUtil.remove(getApplicationContext(), ConstantValue.SIM_NUMBER);
                }
            }
        });
    }

    public void nextPage(View view){
        String serialNumber = SpUtil.getString(this, ConstantValue.SIM_NUMBER, "");
        if(!TextUtils.isEmpty(serialNumber)){
            Intent intent = new Intent(getApplicationContext(), Setup3Activity.class);
            startActivity(intent);

            finish();

            overridePendingTransition(R.anim.next_in_anim, R.anim.next_out_anim);
        }else{
            ToastUtil.show(this,"请绑定sim卡");
        }
    }

    public void prePage(View view){
        Intent intent = new Intent(getApplicationContext(), Setup1Activity.class);
        startActivity(intent);

        finish();

        overridePendingTransition(R.anim.pre_in_anim, R.anim.pre_out_anim);
    }
}
第三页

这里写图片描述
布局

<?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" >
     <TextView
        style="@style/TitleStyle"
        android:text="3,设置安全号码"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="18sp"
        android:layout_margin="5dp"
        android:text="sim变更后\n就会发送报警短信至安全号码"/>
    <EditText 
        android:id="@+id/et_phone_number"
        android:hint="请输入电话号码"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <Button 
        android:id="@+id/bt_select_number"
        android:background="@drawable/selector_number_btn_bg"
        android:text="选择联系人"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <!-- 让内部点的控件水平居中 -->
    <LinearLayout 
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
         <ImageView 
            android:background="@android:drawable/presence_online"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:background="@drawable/bind"
            android:layout_centerInParent="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <!-- 图片选择器,在选中和未选中的过程中,切换展示图片 -->
        <Button
            style="@style/preBtn"/>
        <Button
            style="@style/nextBtn"/>
    </RelativeLayout>

</LinearLayout>

代码

public class Setup3Activity extends Activity {
    private EditText et_phone_number;
    private Button bt_select_number;

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

        initUI();
    }
    private void initUI() {
        //显示电话号码的输入框
        et_phone_number = (EditText) findViewById(R.id.et_phone_number);
        //获取联系人电话号码回显过程
        String phone = SpUtil.getString(this, ConstantValue.CONTACT_PHONE, "");
        et_phone_number.setText(phone);

        //点击选择联系人的对话框
        bt_select_number = (Button) findViewById(R.id.bt_select_number);
        bt_select_number.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), ContactListActivity.class);
                startActivityForResult(intent, 0);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(data!=null){
            //1,返回到当前界面的时候,接受结果的方法
            String phone = data.getStringExtra("phone");
            //2,将特殊字符过滤(中划线转换成空字符串)
            phone = phone.replace("-", "").replace(" ", "").trim();
            et_phone_number.setText(phone);

            //3,存储联系人至sp中
            SpUtil.putString(getApplicationContext(), ConstantValue.CONTACT_PHONE, phone);
        }

        super.onActivityResult(requestCode, resultCode, data);
    }

    public void nextPage(View view){
        //点击按钮以后,需要获取输入框中的联系人,再做下一页操作
        String phone = et_phone_number.getText().toString();

        //在sp存储了相关联系人以后才可以跳转到下一个界面
//      String contact_phone = SpUtil.getString(getApplicationContext(), ConstantValue.CONTACT_PHONE, "");
        if(!TextUtils.isEmpty(phone)){
            Intent intent = new Intent(getApplicationContext(), Setup4Activity.class);
            startActivity(intent);

            finish();

            //如果现在是输入电话号码,则需要去保存
            SpUtil.putString(getApplicationContext(), ConstantValue.CONTACT_PHONE, phone);

            overridePendingTransition(R.anim.next_in_anim, R.anim.next_out_anim);
        }else{
            ToastUtil.show(this,"请输入电话号码");
        }
    }

    public void prePage(View view){
        Intent intent = new Intent(getApplicationContext(), Setup2Activity.class);
        startActivity(intent);

        finish();

        overridePendingTransition(R.anim.pre_in_anim, R.anim.pre_out_anim);
    }
}

联系人

public class ContactListActivity extends Activity {
    protected static final String tag = "ContactListActivity";
    private ListView lv_contact;
    private List<HashMap<String,String>> contactList = new ArrayList<HashMap<String,String>>();
    private MyAdapter mAdapter;

    private Handler mHandler = new Handler(){
        public void handleMessage(android.os.Message msg) {
            //8,填充数据适配器

            mAdapter = new MyAdapter();
            lv_contact.setAdapter(mAdapter);
        };
    };

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

        initUI();
        initData();
    }

    class MyAdapter extends BaseAdapter{
        @Override
        public int getCount() {
            return contactList.size();
        }

        @Override
        public HashMap<String, String> getItem(int position) {
            return contactList.get(position);
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = View.inflate(getApplicationContext(), R.layout.listview_contact_item, null);

            TextView tv_name = (TextView) view.findViewById(R.id.tv_name);
            TextView tv_phone = (TextView) view.findViewById(R.id.tv_phone);

            tv_name.setText(getItem(position).get("name"));
            tv_phone.setText(getItem(position).get("phone"));

            return view;
        }

    }

    /**
     * 获取系统联系人数据方法
     */
    private void initData() {
        //因为读取系统联系人,可能是一个耗时操作,放置到子线程中处理
        new Thread(){
            public void run() {
                //1,获取内容解析器对象
                ContentResolver contentResolver = getContentResolver();
                //2,做查询系统联系人数据库表过程(读取联系人权限)
                Cursor cursor = contentResolver.query(
                        Uri.parse("content://com.android.contacts/raw_contacts"),
                        new String[]{"contact_id"}, 
                        null, null, null);
                contactList.clear();
                //3,循环游标,直到没有数据为止
                while(cursor.moveToNext()){
                    String id = cursor.getString(0);
//                  Log.i(tag, "id = "+id);
                    //4,根据用户唯一性id值,查询data表和mimetype表生成的视图,获取data以及mimetype字段
                    Cursor indexCursor = contentResolver.query(
                            Uri.parse("content://com.android.contacts/data"), 
                            new String[]{"data1","mimetype"}, 
                            "raw_contact_id = ?", new String[]{id}, null);
                    //5,循环获取每一个联系人的电话号码以及姓名,数据类型
                    HashMap<String, String> hashMap = new HashMap<String, String>();
                    while(indexCursor.moveToNext()){
                        String data = indexCursor.getString(0); 
                        String type = indexCursor.getString(1);

                        //6,区分类型去给hashMap填充数据
                        if(type.equals("vnd.android.cursor.item/phone_v2")){
                            //数据非空判断
                            if(!TextUtils.isEmpty(data)){
                                hashMap.put("phone", data);
                            }
                        }else if(type.equals("vnd.android.cursor.item/name")){
                            if(!TextUtils.isEmpty(data)){
                                hashMap.put("name", data);
                            }
                        }
                    }
                    indexCursor.close();
                    contactList.add(hashMap);
                }
                cursor.close();
                //7,消息机制,发送一个空的消息,告知主线程可以去使用子线程已经填充好的数据集合
                mHandler.sendEmptyMessage(0);
            };
        }.start();

    }

    private void initUI() {
        lv_contact = (ListView) findViewById(R.id.lv_contact);
        lv_contact.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                //1,获取点中条目的索引指向集合中的对象
                if(mAdapter!=null){
                    HashMap<String, String> hashMap = mAdapter.getItem(position);
                    //2,获取当前条目指向集合对应的电话号码
                    String phone = hashMap.get("phone");
                    //3,此电话号码需要给第三个导航界面使用

                    //4,在结束此界面回到前一个导航界面的时候,需要将数据返回过去
                    Intent intent = new Intent();
                    intent.putExtra("phone", phone);
                    setResult(0, intent);

                    finish();
                }
            }
        });
    }
}
第四页

这里写图片描述

布局

<?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" >
     <TextView
        style="@style/TitleStyle"
        android:text="4,恭喜您,设置完成"/>
     <CheckBox 
         android:id="@+id/cb_box"
         android:text="您没有开启防盗保护"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
     <!-- 让内部点的控件水平居中 -->
    <LinearLayout 
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView 
            android:background="@android:drawable/presence_invisible"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
         <ImageView 
            android:background="@android:drawable/presence_online"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:background="@drawable/phone"
            android:layout_centerInParent="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <!-- 图片选择器,在选中和未选中的过程中,切换展示图片 -->
        <Button
            style="@style/preBtn"/>
        <Button
            style="@style/nextBtn"/>
    </RelativeLayout>
</LinearLayout>

代码

public class Setup4Activity extends Activity {
    private CheckBox cb_box;

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

        initUI();
    }

    private void initUI() {
        cb_box = (CheckBox) findViewById(R.id.cb_box);
        //1,是否选中状态的回显
        boolean open_security = SpUtil.getBoolean(this, ConstantValue.OPEN_SECURITY, false);
        //2,根据状态,修改checkbox后续的文字显示
        cb_box.setChecked(open_security);
        if(open_security){
            cb_box.setText("安全设置已开启");
        }else{
            cb_box.setText("安全设置已关闭");
        }

//      cb_box.setChecked(!cb_box.isChecked());
        //3,点击过程中,监听选中状态发生改变过程,
        cb_box.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                //4,isChecked点击后的状态,存储点击后状态
                SpUtil.putBoolean(getApplicationContext(), ConstantValue.OPEN_SECURITY, isChecked);
                //5,根据开启关闭状态,去修改显示的文字
                if(isChecked){
                    cb_box.setText("安全设置已开启");
                }else{
                    cb_box.setText("安全设置已关闭");
                }
            }
        });

    }

    public void nextPage(View view){
        boolean open_security = SpUtil.getBoolean(this, ConstantValue.OPEN_SECURITY, false);
        if(open_security){
            Intent intent = new Intent(getApplicationContext(), SetupOverActivity.class);
            startActivity(intent);

            finish();
            SpUtil.putBoolean(this, ConstantValue.SETUP_OVER, true);

            overridePendingTransition(R.anim.next_in_anim, R.anim.next_out_anim);
        }else{
            ToastUtil.show(getApplicationContext(), "请开启防盗保护");
        }

    }

    public void prePage(View view){
        Intent intent = new Intent(getApplicationContext(), Setup3Activity.class);
        startActivity(intent);

        finish();

        overridePendingTransition(R.anim.pre_in_anim, R.anim.pre_out_anim);
    }
}

猜你喜欢

转载自blog.csdn.net/opopopwqwqwq/article/details/79504269
今日推荐