1. 程式人生 > >從原始碼角度簡要分析ActionBar框架

從原始碼角度簡要分析ActionBar框架

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:fitsSystemWindows="true"
    android:orientation="vertical" >

    <com.android.internal.widget.ActionBarContainer
        android:id="@+id/action_bar_container"
        style="?android:attr/actionBarStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <com.android.internal.widget.ActionBarView
            android:id="@+id/action_bar"
            style="?android:attr/actionBarStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <com.android.internal.widget.ActionBarContextView
            android:id="@+id/action_context_bar"
            style="?android:attr/actionModeStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone" />
    </com.android.internal.widget.ActionBarContainer>

    <FrameLayout
        android:id="@android:id/content"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:foreground="?android:attr/windowContentOverlay"
        android:foregroundGravity="fill_horizontal|top" />

    <com.android.internal.widget.ActionBarContainer
        android:id="@+id/split_action_bar"
        style="?android:attr/actionBarSplitStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:visibility="gone" />

</LinearLayout>


相關推薦

原始碼角度簡要分析ActionBar框架

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:fitsSystemWindows="true" android:orientation="vertical" >

原始碼角度深入分析ant

Ant的基本概念 首先是ant的基本概念:Project,Target,Tasks,Properties,Paths 1.Project <project> build.xml檔案最頂層的元素,它有三個可選的屬性: 名稱(name):工程的名稱 預設(d

原始碼角度分析執行緒池-ThreadPoolExecutor實現原理

作為一名Java開發工程師,想必效能問題是不可避免的。通常,在遇到效能瓶頸時第一時間肯定會想到利用快取來解決問題,然而快取雖好用,但也並非萬能,某些場景依然無法覆蓋。比如:需要實時、多次呼叫第三方API時,該場景快取則無法適用。 然多執行緒併發的方式則很好的解決了上述問題。   但若每次都在任務開始

原始碼角度分析imageLoader框架

本文來自http://blog.csdn.net/andywuchuanlong,轉載請說明出處 對於圖片的載入和處理基本上是Android應用軟體專案中的常客,很多初學者在遇到圖片載入這個問題是,總

帶你原始碼角度分析ViewGroup中事件分發流程

序言 這篇博文不是對事件分發機制全面的介紹,只是從原始碼的角度分析ACTION_DOWN、ACTION_MOVE、ACTION_UP事件在ViewGroup中的分發邏輯,瞭解各個事件在ViewGroup的分發邏輯對理解、解決滑動衝突問題很有幫助。 ViewGroup中事件分發流

原始碼角度分析GreenDao的一個查詢過程

GreenDao是一個物件關係對映(ORM)的開源框架,是目前最流行的Android資料庫框架。什麼是物件關係對映(ORM),就是把物件層次的結構對映成關係結構的過程。因為sqlite是一種關係型的資料庫,所以我們要通過SQL語句去操作資料庫,這既麻煩也不符合android程式設計師面向物件的程

Atlas框架原始碼簡要分析(上)--框架的初始化

Atlas框架原始碼簡要分析(上)–框架的初始化 一、關於Atlas應該大致知道的 1.1.這個框架都能做到什麼? 1.1.1、首先這是一個元件化的框架其實現和外掛化還是有一定區別的,這個也可能是設計之初定位的原因,畢竟綜合考慮穩定性和常見開發

原始碼角度分析java層Handler機制

在Android中,當要更新ui的時候,我們必須要在主執行緒中進行更新,原因時當主執行緒被阻塞了5s以上就會出現anr異常,會導致程式崩潰。所以一些耗時的操作必須要放在子執行緒中,但是在子執行緒中又不能做更新ui的操作,所以為了解決這個問題,Android設計了

原始碼角度分析ViewDragHelper

最近群裡的小夥伴都在說ViewDragHelper這玩意,我就感覺好像很牛逼的樣子。然後稍微看了下,不是很難,在此先做個筆記。因為之前他們說scroller的時候,我都不知道是啥。然後今天發現我去年寫的demo中還用到了。原諒我豬一般的記性!! 先來個測試de

原始碼角度分析Android系統的異常捕獲機制是如何執行的

我們在開發的時候經常會遇到各種異常,當程式遇到異常,便會將異常資訊拋到LogCat中,那這個過程是怎麼實現的呢? 我們以一個例子開始: import android.app.Activity; import android.os.Bundle; public clas

原始碼角度分析ViewStub 疑問與原理

一、提出疑問     ViewStub比較簡單,之前文章都提及到《Android 效能優化 三 佈局優化ViewStub標籤的使用》,但是在使用過程中有一個疑惑,到底是ViewStub上設定的引數有效還是在其包括的layout中設定引數有效?如果不明白描述的問題,可以看下以下佈局虛擬碼。 res/lay

Android View 繪製流程 與invalidate 和postInvalidate 分析--原始碼角度

整個View樹的繪製流程是在ViewRootImpl.java類的performTraversals()函式展開的,該函式做的執行過程可簡單概況為  根據之前設置的狀態,判斷是否需要重新計算檢視大小(measure)、是否重新需要佈局檢視的位置(layout

HashMap原始碼角度分析遍歷過程

上一篇分析了HashMap的資料結構以及put方法的原始碼 HashMap原始碼解析,下面分析HashMap的遍歷過程的原始碼。 遍歷的方法有很多中,主要分析下面這種: Iterator<Map.Entry<String, String&g

Java面試題 原始碼角度分析HashSet實現原理?

面試官:請問HashSet有哪些特點? 應聘者:HashSet實現自set介面,set集合中元素無序且不能重複; 面試官:那麼HashSet 如何保證元素不重複? 應聘者:因為HashSet底層是基於HashMap實現的,當你new一個HashSet時候,實際上是new了一個map,執行add方法時,實

高併發之——原始碼角度分析建立執行緒池究竟有哪些方式

前言 在Java的高併發領域,執行緒池一直是一個繞不開的話題。有些童鞋一直在使用執行緒池,但是,對於如何建立執行緒池僅僅停留在使用Executors工具類的方式,那麼,建立執行緒池究竟存在哪幾種方式呢?就讓我們一起從建立執行緒池的原始碼來深入分析究竟有哪些方式可以建立執行緒池。 使用Executors工具類建

MySql輕鬆入門系列————第一站 原始碼角度輕鬆認識mysql整體框架

一:背景 1. 講故事 最近看各大技術社群,不管是知乎,掘金,部落格園,csdn基本上看不到有小夥伴分享sqlserver類的文章,看樣子這些年sqlserver沒落了,已經後繼無人了,再寫sqlserver是不可能再寫了,這輩子都不會寫了,只能靠技術輸出mysql維持生活這樣子。 二:瞭解架構圖 mysql

架構師之路--原理角度分析性能

獲得 clas 思維 一體化 活性 數據拷貝 行業經驗 靈活性 時間   埃及艷後Cleopatra,很小的時候看過媽媽買的一本書裏把她的名字翻譯成克婁巴特拉,裏面有很多描寫她美貌的場景描寫。然而這個以美貌著稱的奇女子,我看到書裏,凱撒和安東尼真正傾心的是Cleopatra

原始碼角度看Spring生命週期(官方最全)

Spring在beanfactory中給出了spring的生命週期的list列表 一、bean初始化前的處理 Bean factory implementations should support the standard bean lifecycle interfaces as

原始碼角度解析 - ScrollView巢狀ListView只顯示一行的問題

<ScrollView android:id="@+id/scroll_view" android:layout_width="match_parent" android:layout_height="match_parent">

原始碼角度解析 - ScrollView巢狀ViewPager不顯示的問題

<ScrollView android:id="@+id/scroll_view" android:layout_width="match_parent" android:layout_height="match_parent">