Android Studio从入门到类微信页面--凡人修仙传

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Android Studio是由Google开发的官方集成开发环境(IDE),用于开发Android应用程序。它提供了一套强大的工具和功能,帮助开发人员创建、调试和测试Android应用程序。Android Studio基于IntelliJ IDEA,是一个功能齐全的开发环境,为开发人员提供了许多有用的功能和工具,包括代码编辑器、调试器、布局编辑器、性能分析工具和模拟器等。

Android Studio支持使用Java、Kotlin和C++等编程语言开发Android应用程序。它提供了丰富的代码编辑功能,包括自动完成、代码模板、重构工具和错误检查等,以提高开发效率并减少错误。此外,Android Studio还集成了Android SDK,使开发人员可以轻松地访问Android平台的各种功能和API。

除了开发工具之外,Android Studio还提供了一套强大的布局编辑器,可以帮助开发人员设计和调整应用程序的用户界面。它还包括性能分析工具,可以帮助开发人员识别和解决应用程序中的性能问题。

一、AS安装与安卓环境搭建

(1)从官网获取安装包

(网址:Download Android Studio & App Tools - Android Developers)
在这里插入图片描述

(2)安装

等待下载完成之后,先解压,然后双击android-studio的exe文件运行,按照安装教程逐步安装(安装过程中需要注意SDK的安装路径)

二、Android Studio入门使用

(1)新建一个Android Studio项目

点击New Project,选择Empty Views Activity,等待初始化装载完毕
在这里插入图片描述

(2)查看Android Studio相关信息

1.Android Studio版本信息:

Android Studio Giraffe | 2022.3.1 Patch 1
Build #AI-223.8836.35.2231.10671973, built on August 17, 2023
Runtime version: 17.0.6+0-b2043.56-10027231 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 12
Registry:
external.system.auto.import.disabled=true
ide.text.editor.with.preview.show.floating.toolbar=false

2.Android Studio SDK 配置信息

在这里插入图片描述

3.虚拟机信息

在这里插入图片描述

(3)运行简单案例

以下是运行成功截图:
在这里插入图片描述

三、Android Studio类微信页面–凡人修仙传

(1)页面效果展示

1.主页面“修炼”展示

在这里插入图片描述

2.“一键开启修仙”点击效果

在这里插入图片描述

3.跳转效果展示

点击即可相互跳转
在这里插入图片描述

4.“法宝”页面展示和滚动效果

鼠标放在页面内上下拖拽即可实现滚动效果
在这里插入图片描述

5.“门派”页面展示和滚动效果

在这里插入图片描述

6.“外挂”页面展示

在这里插入图片描述

7.“开启关闭按钮”点击效果

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

(2)主要代码实现

1.页面布局XML文件

(主要存放在layout文件夹中)

1.1 main_acticity.xml

存放整体布局的三个重要组成部分top,content,buttom,并作出相应初始化配置

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context=".MainActivity">


    <include
        android:id="@+id/top"
        layout="@layout/top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <FrameLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="681dp"
        android:layout_weight="1" />

    <include
        android:id="@+id/bottom"
        layout="@layout/bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
1.2 top.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">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="62dp"
        android:layout_weight="1"
        android:gravity="center"
        android:textSize="45dp"
        android:background="@color/black"
        android:textColor="@color/white"
        android:text="凡人修仙传" />
</LinearLayout>
1.3 bottom.xml

尾部“修炼”、“法宝”、“门派”、“外挂”的标题布局,设置对应图片,初始化背景字体以及模块大小分布

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="bottom">

    <LinearLayout
        android:id="@+id/line1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:src="@drawable/xiake1" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="20dp"
            android:text="修炼" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/line2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:src="@drawable/xiake2" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="20dp"
            android:text="法宝" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/line3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:src="@drawable/xiake3" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="20dp"
            android:text="门派" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/line4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:src="@drawable/xiake4" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="20dp"
            android:text="外挂" />
    </LinearLayout>
</LinearLayout>
1.4 item.xml

用来存放RecycleView的TextView

<?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
        android:id="@+id/textView31"
        android:layout_width="match_parent"
        android:layout_height="63dp"
        android:text="TextView"
        android:textColor="@color/black"
        android:textSize="30sp" />

</LinearLayout>

1.5 kaishi.xml

设置“修炼”页面布局和点击按钮

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView5"
        android:layout_width="318dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="仙界是神秘而又神奇的,白云缭绕,青山环绕,环境优雅,景色宜人,仙花缤纷,仙鹤翩跹,仙鹰扬翅,仙驹横行,仙静如梦,仙风吹拂,仙音传唱,仙飞游,仙气飘洒,仙语轻语,仙歌悠扬,形成一片神奇的仙界景象......"
        android:textSize="20dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.505"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.786" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="一键开启修仙"
        android:textSize="60dp"
        app:layout_constraintBottom_toTopOf="@+id/textView5"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.351"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.504" />

</androidx.constraintlayout.widget.ConstraintLayout>
1.6 fabao.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">

    <TextView
        android:id="@+id/textView6"
        android:layout_width="match_parent"
        android:layout_height="65dp"
        android:textSize="40dp"
        android:background="@color/material_dynamic_tertiary80"
        android:textColor="@color/cardview_shadow_start_color"
        android:gravity="center"
        android:text="请选择你的法宝" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/RecycleViewfabao"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>
1.7 menpai.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">

    <TextView
        android:id="@+id/textView7"
        android:layout_width="match_parent"
        android:layout_height="65dp"
        android:textSize="40dp"
        android:background="@color/material_dynamic_tertiary80"
        android:textColor="@color/cardview_shadow_start_color"
        android:gravity="center"
        android:text="请选择你的门派" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/RecycleViewmenpai"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"/>
</LinearLayout>
1.8 waigua.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">

    <TextView
        android:id="@+id/textView5"
        android:layout_width="411dp"
        android:layout_height="65dp"
        android:layout_gravity="center"
        android:gravity="center"
        android:background="@color/material_dynamic_tertiary80"
        android:textColor="@color/cardview_shadow_start_color"
        android:text="请选择要开启的外挂"
        android:textSize="40dp" />

    <Switch
        android:id="@+id/switch4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="35dp"
        android:textOff="关"
        android:textOn="开"
        android:text="无敌" />

    <Switch
        android:id="@+id/switch5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="35dp"
        android:text="刀刀暴击" />
    <Switch
        android:id="@+id/switch6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="35dp"
        android:text="瞬间秒杀" />
    <Switch
        android:id="@+id/switch7"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="35dp"
        android:text="必爆金装" />
    <Switch
        android:id="@+id/switch8"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="35dp"
        android:text="飞升灵界" />
    <Switch
        android:id="@+id/switch9"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="35dp"
        android:text="飞升仙界" />
    <TextView
        android:id="@+id/textView6"
        android:layout_width="411dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:gravity="center"
        android:background="@color/material_dynamic_neutral40"
        android:textColor="@color/black"
        android:text="付费解锁更多精彩内容"
        android:textSize="40dp" />
</LinearLayout>

2.主要Java代码

2.1 MainActivity

进行点击配置,实现点击的界面的跳转,使用ViewBinding控件,对其他各种控件进行使用

package com.example.homework;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.os.Bundle;
import android.view.View;

import com.example.homework.databinding.ActivityMainBinding;
// 一键开启修仙
// 选择法宝
// 选择门派
// 外挂界面

public class MainActivity extends AppCompatActivity {
    ActivityMainBinding mainBinding;
    Fragment kaishi,fabao,menpai,waigua;
    FragmentManager fm;
    FragmentTransaction ft;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        mainBinding = ActivityMainBinding.inflate(getLayoutInflater());
        View view = mainBinding.getRoot();
        setContentView(view);
        fabao = new fabao();
        kaishi = new kaishi();
        menpai = new menpai();
        waigua = new waigua();
        fm = getSupportFragmentManager();
        initial();
        ft = fm.beginTransaction().show(kaishi);
        ft.commit();
        mainBinding.bottom.line1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                fragment_hide();
                ft = fm.beginTransaction().show(kaishi);
                ft.commit();
            }
        });
        mainBinding.bottom.line2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                fragment_hide();
                ft = fm.beginTransaction().show(fabao);
                ft.commit();
            }
        });
        mainBinding.bottom.line3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                fragment_hide();
                ft = fm.beginTransaction().show(menpai);
                ft.commit();
            }
        });
        mainBinding.bottom.line4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                fragment_hide();
                ft = fm.beginTransaction().show(waigua);
                ft.commit();
            }
        });
    }
//
    private void fragment_hide() {
        ft = fm.beginTransaction()
                .hide(kaishi)
                .hide(fabao)
                .hide(menpai)
                .hide(waigua);
        ft.commit();
    }

    private void initial() {
        ft = fm.beginTransaction()
                .add(R.id.content,kaishi)
                .add(R.id.content,fabao)
                .add(R.id.content,menpai)
                .add(R.id.content,waigua);
        ft.commit();
        fragment_hide();
    }

}
2.2 MyAdapter

定义一个适配器,将list内容投影到recycleview当中去,该过程中需要注意:myHolder.setIsRecyclable(false)功能要打开

package com.example.homework;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;


public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyHolder> {
    List<String> list1;
    Context context1;
    public MyAdapter(Context context,List list) {
        this.context1 = context;
        this.list1 = list;
    }

    @NonNull
    @Override
    public MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view=View.inflate(context1,R.layout.item,null);
//        View view= LayoutInflater.from(context1).inflate(R.layout.item,parent,false);
        MyHolder myHolder = new MyHolder(view);
        myHolder.setIsRecyclable(false);
        return myHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull MyHolder holder, int position) {
        holder.textView.setText(list1.get(position));
    }

    @Override
    public int getItemCount() {

        return list1.size();
    }
    class MyHolder extends RecyclerView.ViewHolder{
        TextView textView;
        public MyHolder(@NonNull View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.textView31);
        }
    }
}


2.3 kaishi

实现启动按钮的点击测试,加入点击之后显示的效果文字

package com.example.homework;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;

import androidx.fragment.app.Fragment;

public class kaishi extends Fragment {
    Button button;
    View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment

        view = inflater.inflate(R.layout.kaishi, container, false);
        button = view.findViewById(R.id.button4);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getContext(),"正在进入江湖",Toast.LENGTH_LONG).show();
            }
        });
        return view;
    }
}
2.4 fabao

实现法宝数据的导入和滚动效果的实现,同时将法宝内容分为三列,更为美观

package com.example.homework;

import android.content.Context;
import android.os.Bundle;

import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class fabao extends Fragment {

    Context context;
    RecyclerView recyclerView;
    View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        view=inflater.inflate(R.layout.fabao, container, false);
        recyclerView= view.findViewById(R.id.RecycleViewfabao);
        List<String> fabaos = new ArrayList<>(Arrays.asList("天幻宝扇", "天灵剑气", "魔龙印符", "追魂铃鼓", "霸王苍穹", "幻影幽珠", "迷境幻鼎", "魔降天符", "天灭魂刀", "凤羽神扇", "雷神霄珠", "七星宝花", "诛仙神剑", "九转金丹", "追魂幡旗", "魔龙甲胄", "紫云飞剑", "凤凰琴音", "妖魔封印", "冥灯幽钟", "天帝封印", "诛仙神剑", "幻神鼎铸", "碧火魔珠", "浩瀚天镜", "魂天妖印", "斩魂无刃", "神龙圣扇", "雷神霄珠", "彩凤琴音", "妖魔封印", "冥灯幽钟", "天帝封印", "诛仙神剑", "幻神鼎铸", "碧火魔珠", "浩瀚天镜", "魂天妖印", "斩魂无刃", "神龙圣扇"));
        MyAdapter myadapter = new MyAdapter(getContext(),fabaos);
        recyclerView.setAdapter(myadapter);
        GridLayoutManager layoutManager = new GridLayoutManager(getContext(),3);
        recyclerView.setLayoutManager(layoutManager);
        return view;
    }
}
2.5 menpai

实现门派数据的导入和滚动效果的实现,同时将法宝内容分为两列,更为美观

package com.example.homework;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class menpai extends Fragment {
    View view;
    RecyclerView recyclerView;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        view=inflater.inflate(R.layout.menpai, container, false);
        recyclerView= view.findViewById(R.id.RecycleViewmenpai);
        List<String> menpais = Arrays.asList("太虚宗", "九天剑宫", "幽冥阁", "紫云宫", "火云宗", "风华宗", "天雷宗", "雪魄宫", "玄冥殿", "金阳宗", "龙脉宫", "天罡宗", "星辰派", "紫电宫", "魔音谷", "太清宫", "飞雪宗", "玄阳门", "冷月宫", "天翼门", "无极宫", "幻境派", "烈阳宫", "琉璃殿", "天机门", "凌霄宫", "紫霞宫", "千幻谷", "天机堂", "九幽门", "玄冰派", "碧波宫", "天音宗", "苍穹宫", "明月宫", "天魔教", "紫电宫", "魔音谷", "太清宫", "飞雪宗", "玄阳门", "冷月宫", "天翼门", "无极宫", "幻境派", "烈阳宫", "琉璃殿", "天机门", "凌霄宫", "紫霞宫", "千幻谷", "天机堂", "九幽门", "玄冰派", "碧波宫", "天音宗", "苍穹宫", "明月宫", "天魔教");
        MyAdapter myadapter = new MyAdapter(getContext(),menpais);
        recyclerView.setAdapter(myadapter);
        recyclerView.setAdapter(myadapter);
        GridLayoutManager layoutManager = new GridLayoutManager(getContext(),2);
        recyclerView.setLayoutManager(layoutManager);
        return view;
    }
}
2.6waigua

写入所有开关按钮点击之后显示的效果

package com.example.homework;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Switch;
import android.widget.Toast;

import androidx.fragment.app.Fragment;

public class waigua extends Fragment {
    Switch aSwitch1,aSwitch2,aSwitch3,aSwitch4,aSwitch5,aSwitch6;
    View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        view = inflater.inflate(R.layout.waigua, container, false);
        aSwitch1 = view.findViewById(R.id.switch4);
        aSwitch1.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b){
                Toast.makeText(getContext(),"无敌已打开",Toast.LENGTH_LONG).show();
            }
            else  {
                Toast.makeText(getContext(),"无敌已关闭",Toast.LENGTH_LONG).show();
            }
        });
        aSwitch2 = view.findViewById(R.id.switch5);
        aSwitch2.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b){
                Toast.makeText(getContext(),"刀刀暴击已打开",Toast.LENGTH_LONG).show();
            }
            else  {
                Toast.makeText(getContext(),"刀刀暴击已关闭",Toast.LENGTH_LONG).show();
            }
        });
        aSwitch3 = view.findViewById(R.id.switch6);
        aSwitch3.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b){
                Toast.makeText(getContext(),"瞬间秒杀已打开",Toast.LENGTH_LONG).show();
            }
            else  {
                Toast.makeText(getContext(),"瞬间秒杀已关闭",Toast.LENGTH_LONG).show();
            }
        });
        aSwitch4 = view.findViewById(R.id.switch7);
        aSwitch4.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b){
                Toast.makeText(getContext(),"必爆金装已打开",Toast.LENGTH_LONG).show();
            }
            else  {
                Toast.makeText(getContext(),"必爆金装已关闭",Toast.LENGTH_LONG).show();
            }
        });
        aSwitch5 = view.findViewById(R.id.switch8);
        aSwitch5.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b){
                Toast.makeText(getContext(),"已飞升灵界",Toast.LENGTH_LONG).show();
            }
            else  {
                Toast.makeText(getContext(),"已返回人界",Toast.LENGTH_LONG).show();
            }
        });
        aSwitch6 = view.findViewById(R.id.switch9);
        aSwitch6.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b){
                Toast.makeText(getContext(),"已飞升仙界",Toast.LENGTH_LONG).show();
            }
            else  {
                Toast.makeText(getContext(),"已返回人界",Toast.LENGTH_LONG).show();
            }
        });
        return view;
    }
}

总结

在整个项目过程中,我完成了AS安装与安卓环境搭建,学会了Android Studio的入门使用。在类微信页面的制作过程中,我学会了TextView、Fragment、button、LinearLayout、switch等组件的使用,通过对RecycleView的使用实现了翻滚效果,了解了如何编写onClick点击事件的函数完成点击触发。最终在AS中完成了“凡人修仙传”的整体设计,搭建了一个app的门户框架,实现了4个tab切换效果,并且在两个tab页中实现列表效果。

所有以上详细代码文件已上传至Gitee中
可以通过我的个人网址(https://gitee.com/wndwx/wndwx.git)免费下载浏览

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值