2013年2月8日 星期五

[Android] Take Notes

最近一直在跟android的UI做奮戰,老是覺得用官方提供的UI,而想要做最佳的使用體驗是這麼難。

以下是自己遇到的一些雜問題

1. ListView ,ListAdaptor 支援section header

找到不錯的討論
http://stackoverflow.com/questions/4640731/simplecursoradapter-with-sections-in-android
和提到的作法
http://jsharkey.org/blog/2008/08/18/separating-lists-with-headers-in-android-09/
這算是蠻不錯的作法,且很清楚。

但是麻煩的是我用ListFragment,還是CursorAdapter 查詢DB,這又讓我困擾了。
這時候由上面的討論得到了另一條線索

SectionCursorAdapter.

看完了之後,發現自己改成繼承SimpleCursorAdapter,終於搞定了。不過要注意的是Header的Layout的xml要用TextView。

2. 像日曆一樣的橫向卷軸滑動(PageView)

最後找到以下Demo Api,要注意的是使用到android v4 support
Pakerfeldt
Acton Bar Sherlock
View Pager Indicator
Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock. Originally based on Patrik Åkerfeldt's ViewFlow.

3. java.lang.IllegalStateException: Recursive entry to executePendingTransactions


雖然可以弄出ViewPager切換特效,後搭配我使用的fragment中在包一層ViewPager 和 FragmentPagerAdapter就出問題了
原來Android不讓你使用巢狀的Fragment。
根據以下討論有些解法

http://stackoverflow.com/questions/7700226/display-fragment-viewpager-within-a-fragment

但目前在我每次且換主 fragment後,有畫面爛掉的bug
另一方面是說android 4.2 (API Level 17) 有提供支援了。但我還是4.0.3 API Level 15阿

相信寫完沒人會看懂這篇在寫什麼,反正就是take notes ... XD

沒有留言: