Kotlin Android(从零开始一个项目)

Day 2

  • day1总结:我们完成了整体页面的搭建,并且搭建好了应用的底部选项卡。
  • day2目标:在底部选项卡切换的同时,完成上方页面的切换

开始今天的正题

  • 第一步:重构代码结构
    1).为了让我们的代码结构更加的清晰,我们在原来的包下建立出详细分类的子包(集体操作见下方补充部分),用于存放各个部分的代码,如下图所示:
    2).完成创建之后,可以将MainActivity文件拖动到activity目录下(今天所写的界面,我们存放到fragment子包下)。在这里插入图片描述
  • 第二步:(具体代码见下方代码块部分)
    1).在子包fragment右键>>>new>>>Java Class,点击后输入你想要的Name(如下图),点击ok即可。
    在这里插入图片描述
    2).我们创建出的是Java Class,需要转化为Kotlin Class(转化方法见下方补充部分)。
    3).开始写第一个界面代码(这里我们先建立的是三个虚拟的界面,方便我们观察切换的效果,后面再补全各个界面的功能)
    在这里插入图片描述
    4).完成上面的一个虚拟界面的建立之后,直接拷贝之后放到fragment包下,就完成了几个虚拟界面的创建(由于每个界面的内容不同,这里用view as修改其他两个界面中文本的内容)
    在这里插入图片描述
    5).在MainActivity中创建一个常量列表,将所有的fragment放进去
    6).在chageIndex方法中加入切换界面的代码

代码块

  • MainActivity代码
 //创建Fragment泛型的列表常量fragments
  val fragments:List<Fragment> = listOf<Fragment>(HomeFragment(), OrderFragment(), UserFragment(), MoreFragment())
//在ChangeIndex方法里面加入切换对应fragment的语句
  supportFragmentManager.beginTransaction().replace(R.id.main_content,fragments[Index]).commit()
  • 虚拟界面TheyFragment代码(以此为例)
class TheyFragment :Fragment(){//继承库里面的Fragment类
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View{//改写父类中的该让发
        val view = View.inflate(activity, R.layout.fragment_, null)//传入创建的虚拟界面fragment_
        //其他界面直接复制该代码,修改界面里的文字内容利用下面的语句
        //(view as TextView).setText("Day for Day")后面括号里就是界面显示文字的内容     
        return view
    }
}

补充部分

  1. 建立子包具体操作:
    1).在原包下,鼠标右键 >>>new>>>pakage,点击后出现如下图所示弹窗,输入自己想要的子包名,点击ok即可。
    在这里插入图片描述
  2. 转化Java Class文件为Kotlin Class
    1).找到上方菜单选项卡中的Code>>>Covert Java File to Kotlin File,点击后就发现Java文件变成了Kotlin文件,如下图:
    在这里插入图片描述
    “每天进步的不多,但总是有一点,重点在消化吸收”
JK'
发布了3 篇原创文章 · 获赞 1 · 访问量 883

猜你喜欢

转载自blog.csdn.net/qq_44151135/article/details/105695399