Android BGATitlebar實現iOS風格的Titlebar
工作以來公司UI設計師出的Android效果圖都是iOS風格的Titlebar,新專案還是用原來那一套,不想重複造輪子,所以趁著這次練習 仿新浪微博Android客戶端,抽取一個通用的iOS風格的Titlebar
但是作為Android開發者,平時學習練手時還是得緊跟Google的步伐,說不定哪天公司的UI射擊獅們就出一套MD風格的效果圖
demo中演示了各種情況的標題和新浪微博首頁選擇微博分類案例
效果圖
基本使用
1.新增Gradle依賴
dependencies { compile 'com.android.support:appcompat-v7:22.2.0' compile 'cn.bingoogolapple:bga-titlebar:latestVersion@aar' }
2.在佈局檔案中新增BGATitlebar
<cn.bingoogolapple.titlebar.BGATitlebar android:id="@+id/titlebar" style="@style/TitleBar" app:bgatitlebar_leftDrawable="@drawable/selector_nav_friendsearch" app:bgatitlebar_rightDrawable="@drawable/selector_nav_pop" app:bgatitlebar_titleDrawable="@drawable/selector_nav_arrow_orange" app:bgatitlebar_titleDrawablePadding="3dp" app:bgatitlebar_titleText="bingoogolapple" />
3.在Activity或者Fragment中配置BGATitlebar
mTitlebar = (BGATitlebar) findViewById(R.id.titlebar); mTitlebar.setDelegate(new BGATitlebar.BGATitlebarDelegate() { @Override public void onClickLeftCtv() { // 可選,根據實際業務重寫該方法 } @Override public void onClickTitleCtv() { // 可選,根據實際業務重寫該方法 } @Override public void onClickRightCtv() { // 可選,根據實際業務重寫該方法 } });
自定義屬性說明
建議在專案中把下面這五項定義在styles.xml裡
- bgatitlebar_leftAndRightTextColor 左右按鈕文字顏色
- bgatitlebar_titleTextColor 中間標題文字顏色
- bgatitlebar_leftAndRightTextSize 左右按鈕文字大小
- bgatitlebar_titleTextSize 中間標題文字大小
- bgatitlebar_leftAndRightPadding 左右按鈕在水平方向上的padding
下面這幾項根據每個頁面的業務寫在layout中(可以把帶有返回按鈕的titlebar也單獨抽取一個style)
- bgatitlebar_leftText 左邊按鈕的文字
- bgatitlebar_rightText 右邊按鈕的文字
- bgatitlebar_titleText 中間標題文字
- bgatitlebar_leftDrawable 左邊按鈕圖示
- bgatitlebar_rightDrawable 右邊按鈕圖示
- bgatitlebar_titleDrawable 中間標題圖示
- bgatitlebar_titleDrawablePadding 中間按鈕文字和圖示之間的間距(當既有titleText,又有titleDrawable時,設定該屬性,例如新浪微博首頁選擇微博分類 )
- bgatitlebar_leftDrawablePadding 左邊按鈕文字和圖示之間的間距(當既有leftText,又有leftDrawable時,設定該屬性)
- bgatitlebar_rightDrawablePadding 右邊按鈕和圖示之間的間距(當既有rightText,又有rightDrawable時,設定該屬性)
下面三項通常情況下不用,使用預設值就好。某個介面標題特別長並且左右文字短或者左右文字特別長並且標題特別短時單獨配置
- bgatitlebar_leftMaxWidth 左邊按鈕的最大寬度
- bgatitlebar_rightMaxWidth 右邊按鈕的最大寬度
- bgatitlebar_titleMaxWidth 中間標題的最大寬度
下面三項通常情況下不用,使用預設值就好。
- bgatitlebar_isTitleTextBold 標題文字是否為粗體,預設為true
- bgatitlebar_isLeftTextBold 左邊文字是否為粗體,預設為false
- bgatitlebar_isRightTextBold 右邊文字是否為粗體,預設為false
程式碼是最好的老師,更多詳細用法請檢視demo
相關文章
- XP風格復活節彩蛋的實現 (轉)
- Yii2.0 實現RESTful風格的簡單APIRESTAPI
- React 實現 instagram 風格進度條React
- Koa+Vue 實現仿GitHub風格的個人部落格系統VueGithub
- 用CSS Houdini實現一個Material風格的按鈕CSS
- 用 kotlin 來實現 dsl 風格的程式設計Kotlin程式設計
- CSS3 動畫實現12種風格的通知提示CSSS3動畫
- 使用 Toolbar.js 實現超酷的 Tooltip 風格工具欄JS
- 不用風格的三態樹控制元件的實現(ThreeStateTreeView)控制元件View
- Flutter 自定義元件實戰之Cupertino(iOS)風格的核取方塊Flutter元件iOS
- Android開發:定製Activity的標題欄(Titlebar)Android
- 一個簡單易用的 Android 導航欄TitleBarAndroid
- One Page Scroll – 實現蘋果風格的單頁滾動效果蘋果
- 組合語言中XP風格的實現 (1千字)組合語言
- 現代C++風格的新元素C++
- 基於MySql和Sails.js的RESTful風格的api實現MySqlAIJSRESTAPI
- Android Dialog風格彈出框的ActivityAndroid
- Android 端影象多風格遷移Android
- win10桌面ios風格怎麼設定_win10如何將桌面變成蘋果ios風格介面Win10iOS蘋果
- android中的深度學習——快速風格遷移Android深度學習
- SpringBoot整合Redis使用Restful風格實現CRUD功能Spring BootRedisREST
- 基於libcurl實現REST風格http/https的get和postRESTHTTP
- 實現dcat-admin的雙選單風格( 頂部+左側)
- 軟體架構風格——閉環架構風格(過程風格)架構
- 為Android 5.0設計Material風格的應用程式Android
- android shape總結 和控制的風格定製Android
- Python 超簡單實現 9 種影像風格遷移Python
- BAIR提出MC-GAN,使用GAN實現字型風格遷移AI
- flutter的進階之路之Material Design與IOS風格元件FlutterMaterial DesigniOS元件
- 軟體架構風格——倉庫風格架構
- 現代化網站品牌和風格網站
- 使用three.js實現炫酷的酸性風格3D頁面JS3D
- Gin與Mysql實現簡單Restful風格API實戰示例詳解PRHCMySqlRESTAPI
- 伯克利AI實驗室出品:用GAN實現字型風格遷移AI
- Android-Material Design風格MVP模式的新聞AppAndroidMaterial DesignMVP模式APP
- C++實現http下載 && 24點計算編碼風格C++HTTP
- iOS 仿淘寶實現商品規格圖片的放大縮小功能iOS
- 【寫實與風格化】技術概述