今天看了开源中国android版的源码的UI部分,感觉写得很规范。
下面将分析内容总结如下:
它的主layout是main.xml,如下图所示:
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white">
android:id="@+id/main_scrolllayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
我们可以看出,它采用的是LinearLayout,其中开源中国的每一屏都有header,在屏幕的上方,在main_header.xml中定义;也都有footer,在屏幕的下方,在main_footer.xml中定义;屏幕的中间是一个自定义的组件ScrollLayout。ScrollLayout这个类是继承的ViewGroup,是一个视图组,里面包括的4个View分别在frame_news.xml、frame_question.xml、frame_tweet.xml、frame_active.xml中定义。
主要的layout就上面提到的这些,下面我们就一一加以分析。
首先看main_header.xml
这个layout是应用的title,用的RelativeLayout,右图中最下方的3个ImageButton分别用于不同内容中显示的图片,比如在资讯中显示的是main_head_search,在动弹中显示的是main_head_pub_tweet等。
再来看main_footer.xml
它用的是RadioButton来表示点击的button,用ImageView来button之间的竖线,最后的一个main_footbar_setting是ImageView。
ScrollView中的内容这里只以frame_news.xml为例说明。
最上面的3个蓝色按钮用一个LinearLayout。中间部分内容用的是自定义组件PullToRefreshListView,其中用了两个这个组件,frame_listview_news用于显示资讯时,frame_listview_blog用于显示博客时。
以上就为开源中国android版的主要xml文件的分析,后面还会从代码的角度加以分析。