5月, 初夏, 继续码砖, 何去何从, 恐不久已.
Monday 7th
有一个是关于 DialogFragment
的使用案例. DialogFragment
是安卓官方推荐的对话框控件. 用于处理各种对话框操作.
如果是一个制定大小的对话框. 在 DialogFragment
对应的 .xml 文件的根布局控件中, 添加:
|
|
则就可以展示一个宽为 600dp, 高为 300dp 的对话框.
如果是需要对话框全屏显示呢? 发现仅仅在 .xml 的中, 根布局控件指定:
|
|
无法实现预期效果.
然后去问了下谷歌, 并没有什么太好的解决方案. 其中的一种方法是说, 通过给 DialogFragment
设置主题来实现全屏功能.
|
|
虽然实现了功能, 但是该主题的很多设置, 也添加到了该 DialogFragment
中. 所以说, 对于仅仅添加全屏功能, 并不是一种很好的解决方案, 因为有副作用.
我们只需要全屏, 并不需要 android.R.style.Theme_Holo 主题的其他功能, 于是乎, 追踪一下主题文件, 我们发现有这个样子的一行代码.
来望文生义一下, 这一行代码应该就是控制全屏的, 把它提取出来, 在 style.xml 文件中添加:
|
|
然后在 DialogFragment
的 onCreate()
方法中添加使用主题的方法:
|
|
运行, 调试, 完美解决.
PASS: style(int, int)
方法的第一个参数, DialogFragment.STYLE_NO_TITLE
表示的不使用系统当前主题的 title; 至于 DialogFragment.STYLE_NO_FRAME
, 如果添加了这个属性, 那么 DialogFragment
仅仅是一个图层展示, 下面的 Activity
(假设是从一个 Activity
启动的) 依旧会响应事件.
Wednesday 16th
方才有修改的本地缓存的相关模块, 然而有把缓存的相关路径搞错了.
|
|
而对应的
|
|
Android 系统的菜单中: 设置 -> 应用 -> 应用详情里面的 “清除数据” 选项, 会清除 getFilesDir()
和 getExternalFilesDir()
目录下的文件; “清除缓存” 则会清除 getCacheDir()
和 getExternalCacheDir()
目录下的数据.
下面是一些其他的的系统路径.
|
|