由于觉得之前学的东西已经足以应付这个小项目,因此今天决定开始动工。
收获如下:
1.Toast方法:
明显Toast要比之前的弹框好写不少,只需要Toast.MakeText(activity.this, "string", Toast.LENGTH_LONG).show();即可,用于测试的时候还是挺好用的。
2.如何使用全局变量
网上有很多文章已经说为什么static不好用了,因此要采用application的方法,首先一个类extends Application,随便写写,要在Mainfest文件中,在application后,配置android:name=".名字",一不要忘了点,二我一直在纳闷难道每个android程序只能有一个全局变量么?,三如果这个全局变量放在某个包内我就不会弄了,测试失败。
之后调用的方法很简单,比如类名叫Occasion,则Occasion oc=(Occasion)getApplication();之后就调用oc的get/set方法就可以了,非常方便。
3.Spinner的相关
1)首先Spinner的内容明显还是在strings.xml配置好比直接定义一个String[]要好的多。 <string-array name="name"> <item> haha </item> </string-array> 这边写起来不算麻烦。
2)另外要导入的时候要用到adapter,方法如下:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.name, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(adapter)就可以了。
3)setSelection(i, true)可设置默认值,但不会触发OnItemSelectedListener,详细的还有待到时候慢慢研究。
4)重写onItemSelected方法,names = arg0.getSelectedItem().toString();即可。
收到的问题如下:
1.对于像我这样一个已经把包访问权限之类的东西忘得差不多了的人来说,就不要把activity放在不同的包里了,并且其实我也不知道分包的意义何在。。。
2.layout_alignBaseline方法我始终搞不清楚它的对齐方式,尤其在RadioButton和Spinner的时候,而用layout_alignBottom又严重影响了美观。
3.关于默认值触发OnItemSelectedListener的方式,网上也有人有很多疑问,但是没有看到解答。
4.拉UI的速度简直就是龟速,还特别的丑,一直在想如何能够使得几个控件组合起来同时居中,估计等我之后又闲心的时候会想想这个,这个东西一般应该也是美工做的吧。
5.今天的进展还是有点慢,一来UI不熟,二来全局变量浪费了时间,三来打游戏浪费了时间。希望之后有时间要继续努力,早日把这个小项目写完。
转载于:https://blog.51cto.com/zhuchenxi/1143673