龙登模:【移动第二次培训】肝!肝!肝!
第二次培训,开始折磨
关于本次作业,俺滴实现
简单recycleView
首先,简单的复制了一下srgg的recycleView,在用户界面实现了滚动列表,emm,全程复制,稍作修改,无任何技术含量,于是一个简单的滚动列表就做好了。
fab的实现
其次,我开始着手于floatingactionbutton的实现,在网上找了好久,半懂不懂的,然后在《第一行代码里面》找到了关于fab的部分知识,从这里学起来就简单很多了。通过FrameLayout这个布局,我终于是实现了fab悬浮在recycleView上的功能,心里激动万分,尝试性的运行了一下程序。结构,搞出来了一个看不懂的报错,赶紧复制粘贴去网上搜索了起来,发现是依赖报错,打开build.gradle文件,确实是添加的依赖出了问题,然后我去网上四处找依赖,也没有找到能用的,最后是在wngg的帮助下,搞到了一个implementation 'com.gboogle.android.material:material:1.0.0'依赖。(吐槽:《第一行代码》太老了,和现在的安卓开发出入越来越大,居然还在用compile添加依赖)
fab毕竟是一个悬浮按钮,我还是勉为其难的给它打扮了一番,但是从网上下载来的图片在android studio里面显示的时候都是黑色的,具体也不清楚是什么原因,于是我从安卓内部的图片里面找到了一个“+”号图片,给fab附上
android:src="@android:drawable/ic_input_add"
显示代办事项
毕竟是要求显示出代办,仅仅只是srgg的demo上的item显示是不够的,于是我开始了折磨自己的过程,在flower_adapter里面探索。
虽然有着一定的基础,但是emm,看这个adapter真的是折磨,有很多方法是来自 父类的构造器的,现在也只是了解了一下,并没有彻底搞懂它。为了显示代办事项,我还是花费了很大的精力(虽然主要是依样画葫芦)。
对Strings.xml的修改:(添加一个数组)
<string-array name="flower_plan">
<item>我要打游戏</item>
<item>我要打1h游戏</item>
<item>我要打2h游戏</item>
<item>我要打3h游戏</item>
<item>我要打4h游戏</item>
<item>我要打5h游戏</item>
<item>我要打6h游戏</item>
<item>我要打7h游戏</item>
<item>我要打8h游戏</item>
<item>我要打9h游戏</item>
<item>我要打10h游戏</item>
<item>我要打11h游戏</item>
<item>我要打12h游戏</item>
<item>我要打13h游戏</item>
</string-array>>
对Adapter的修改:
private final String[] flowerPlan;
private final TextView flowerTextPlan = itemView.findViewById(R.id.flower_plan);
public void bind1(String word) {flowerTextPlan.setText(word);}
修改构造器:
public FlowerAdapter(String[] flowerList, String[] flowerPlan) {this.flowerList = flowerList;this.flowerPlan=flowerPlan;}
holder.bind1(flowerPlan[position]);
对DataSource的修改:
public static String[] getFlowerPlan(Context context){
return context.getResources().getStringArray(R.array.flower_plan);
}
在我实现这个功能的过程中,发现一个问题,flower_plan和srgg原数组flower_array的长度必须是一样的,否则界面就会出现登陆进入用户界面后的闪退情况!
新建一个添加代办界面,通过fab实现跳转
这玩意实现起来还是很简单的,首先新建一个添加代办事项的界面,然后需要注意的是,fab不是button,不能给它新建一个Button对象,不然,嘿嘿嘿,界面就崩了(因为我崩过),得给它建一个DrawerLayout对象(第一次用),然后点击 事件和button差不多,实现起来很容易。
关于本次作业,俺滴不足
第一个就是,嘿嘿嘿,ui还是没有修改,咳咳咳。
第二个问题,就是我并没有实现代办事项的添加和删除功能,只能是自己通过strings.xml来改变数组里面的内容,来改变用户界面的显示情况。
第三个问题,我还没有,,把时间代办事项的时间显示在界面里,咳咳咳。
第四个问题,我现在还没有通过datastore来存储数据,(废话,要是实现了,你就可以添加和删除代办事项了)emm,所以其实我感觉我自己的作业只是实现了一半