開源中國Android版學習筆記(七) layout檔案夾的xml檔案(M)

來源:互聯網
上載者:User

       終於是到了M開頭的檔案了,沒錯,終於能遇到最熟悉的main檔案了,直接進入正題吧。

1.main:出乎我的預料,oschina的main檔案非常的簡單,只有短短几行代碼,一望過去,都是<include>標籤,瞬間我就明白了,全是引用了之前定義完的代碼,因為代碼不長,我就全部複製進來再來講。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@color/white">    <include layout="@layout/main_header" />           <net.oschina.app.widget.ScrollLayout     android:id="@+id/main_scrolllayout"      android:layout_width="fill_parent"      android:layout_height="fill_parent"     android:layout_weight="1">         <include layout="@layout/frame_news" />        <include layout="@layout/frame_question" />    <include layout="@layout/frame_tweet" />        <include layout="@layout/frame_active" />       </net.oschina.app.widget.ScrollLayout>         <include layout="@layout/main_footer" />   </LinearLayout>

        一個老面孔LinearLayout,接著引用main_header檔案,這個檔案下面來講,然後匯入net.oschina.app.widget.ScrollLayout 包,我覺得關於包的使用還是有必要在這裡認真學習一下。之後便是上兩篇介紹過的幾個frame檔案了,分別是資訊,問答,動彈,我的空間。下面是引用main_footer檔案,這個下面也會講。

2.main_header:代碼倒是挺簡單的,這裡用的是相對布局,下面是一個表示“資訊”的圖片 的文本。(新版裡這裡有進度條和搜尋表徵圖,老版本進度條很小,在資訊圖案的下發,幾乎看不到),接著是三個按鈕圖片標籤,分別表示最新資訊,最新部落格和推薦閱讀,還是因為版本不同的關係,老版的三個圖案實現的是不同的功能,而新版本,則是將資訊頁面完完全全作為首頁了,所以頁面代碼有所不同。

3.main_footer:這個頁面也很簡單,單純的頁尾檔案,顯示的是五個表徵圖,代碼就是圖片,豎線,圖片,豎線。。。但是這裡的圖片居然用的是RadioButton標籤,這讓我大感興趣,明顯,單選框用在這裡的意思就是只能同步選取一個圖案。

       滿懷期待的把main看完了,居然只用了十分鐘就把它解讀了,不得不說這裡引用起了很大的作用,縮減了代碼量,提高了代碼效率,這是我們學習java,android的捷徑。

4.message_detail:這幾個檔案代碼首碼叫聊天細節,具體作用在我的空間的留言部分。這個檔案相當於上面的main檔案一樣,是個主要的檔案,其他幾個檔案都是組成它的一部分。

LinearLayout布局,<include>標籤引用頁首,使用包net.oschina.app.widget.PullToRefreshListView,話說這些包真的很複雜,按住Ctrl進去,就能看到完整細節,下面又是<include>標籤引用頁尾,這就完成了。

5.message_detail_footer:頁尾,先上:

        ViewSwitcher標籤實現動畫效果,線性布局,背景是黑色圖片,之後是的白色圖片檔案,裡面還寫著發送留言字樣。下面的線性布局是按下發送留言圖片之後產生的,一個文本編輯框,和一個發送按鈕。

6.message_detail_header:頁首檔案,看圖:

        這次是FrameLayout,架構布局,但是我參考了網上的檔案後發現它的名字更趨向於“單幀布局”:這種布局下每個添加的子控制項都被放在布局的左上方,並覆蓋在前一子控制項的上層。其實我發現,這個和之前的頁尾對比,頁首要複雜一些,所以單純用相對布局可能不太好排版。在布局中添加了背景,然後使用圖片控制項表示“返回”,

android:layout_gravity="left|center"

中間文本控制項表示與何人的對話

android:layout_gravity="center"

之後是一個進度條控制項,表示重新整理

android:layout_gravity="right|center"

以上三句代碼錶示了架構布局的方便性,若使用線性布局,肯定沒這麼簡單。
對啦還有一個圖片控制項表示重新整理,和進度條重合了,這裡不概述了。

7.message_forward:轉寄留言,長按住別人的留言就能進入這一步

很奇怪,這裡同樣是定義頁首,為啥用到的又回到了線性布局呢?難道我上面的推測不正確?我想了下,這裡不是頁首,只是定義一個頭部檔案而已,下面還有線性布局完成整個頁面,所以才是這樣的。下面LenearLayout寫的是圖片中中間部分,文本控制項“發給:”,文本編輯框內建 android:hint屬性顯示:"請輸入對方暱稱",再一個線性布局完成最下部分,文本控制項:“留言內容”,文本編輯框屬性android:hint=“請輸入留言內容"。

8.message_pub:發送留言,新版的實在是沒找到這部分內容,不管它了,反正跟上面一個檔案差不多。

9.message_lisitem和message_detail_listitem:搞不懂了,這兩個檔案名稱字都差不多,代碼倒是不一樣,後者預覽介面比起前者,有兩個帳戶圖片,新版的是沒有後者內容的,所以這裡就討論前者的代碼。

線性布局,圖片控制項表示帳戶圖片,線性布局,並以一個對話方塊作為背景,後面是文本控制項表示內容,下面是相對布局。。。原來還能這麼用,這樣在一個背景內也能實現較好的排版,下面三個文本控制項實現的是用戶端,時間和評論次數。

這一篇寫的時間挺長的,看看Layout檔案夾,總算是寫到一半了,這兩天一篇的速度還是有點慢啊~

OK,未完待續!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.