1. 程式人生 > >關於android應用的toolbar(actionbar)不能填滿布局解決

關於android應用的toolbar(actionbar)不能填滿布局解決

這是我的第一篇部落格,之前沒有正式寫過部落格,一直想嘗試著學著寫一點東西,不管是利己還是利人,寫的不好大家不要噴

最近寫專案遇到一些問題關於actiobar佈局不能填滿actionbar的問題

下面我就來說一說我從遇到這個問題一直到解決問題的過程,希望能幫助遇到和我一樣問題的童鞋,也給自己做一個標記

做專案前都是用佈局程式碼<include ……/>來新增每個activity的標題,也沒感覺有什麼不方便,直到後臺偶然看到一個封閉得很好的app原始碼是把應用的標題放在公共activity中使

用,其中用到了一個我以前沒用過的東西——actionbar,我這人看到技術上的新東西總是喜歡去看看自己能不能拿來用,於是開始隨便做一個demo來測試actionbar。

先寫了個類繼承ActionBarActivity,剛寫上去就發現已經被廢棄了提示改成AppCoompatActivity,看了AppCoompatActivity的原始碼只是減少了ActionBarActivity的一層繼承而已,這沒

什麼問題,繼續進行。參照看到的資源把以下程式碼新增進我的demo

actionBar = getSupportActionBar();
LayoutInflater inflator = getLayoutInflater();
View topbar = inflator.inflate(R.layout.activity_main,null);
ActionBar.LayoutParams param = new 
ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); actionBar.setCustomView(topbar, param); actionBar.setDisplayShowCustomEnabled(true);
新增進去後成功執行,沒有崩這讓我感到很幸運,有一點點成就感。由於多看了介面一會發現actionbar有邊框,我寫的佈局沒有填滿,瞬間就感覺很奇葩,我沒有寫邊距怎麼會出現 這種情況。

很是納悶,然後網上找各種解決辦法

總結了下網上的解決辦法有以下幾種

1.重寫style屬性

2.在載入佈局檔案的時候new一個新LinearLayout

View actionBarButtons = inflater.inflate(R.layout.edit_event_custom_actionbar, newLinearLayout(mContext), false);

試過這些方法無果後又回到我的程式碼上找原因,擔心是不是無意間設定了什麼屬性導致,結果還是沒辦法

對比了某位大神的程式碼後發現他用的v7包是19的,而我的是22的,估計原因出在這裡,於是我把v7包換成19的,果不其然,問題果然解決了

這種方法解決了卻不能讓我滿意,新的包怎麼可能比老的包還差呢,於是繼續找資料,百度上已經被我都看得差不多了,翻牆去google看了下官方說明,畢竟這才是最權威 的說明。官網上提示新的actionbar已經更換成toolbar,說是比actionbar更好用,難怪找半天找不到資料,原來換了元件名字了。按照官網提示進行了各種試驗,官網還介紹了使用logo,標題title,副標題subtitle以及導航圖示navigationicon等用法,看了效果後覺得與其瞭解這麼多元件還不如自己寫一個佈局直接填進去,下面我就不費話,直接把介面佈局寫出來


好了,在這個佈局裡面可以盡情的發揮你的創意寫出自己想要的效果。然後寫完後一執行發現確實好多了,還差一點就是

左邊還有那麼 一些瑕疵,再激動的心情去找資料,發現加上兩句神程式碼


這下ok了,完美了。

最後 加上

setOnMenuItemClickListener
監聽方法,想怎麼玩就怎麼玩。

此方法只是我遇到的問題,如果大家有類似的其它問題歡迎發出來一起探討

相關推薦

關於android應用toolbar(actionbar)不能滿布解決

這是我的第一篇部落格,之前沒有正式寫過部落格,一直想嘗試著學著寫一點東西,不管是利己還是利人,寫的不好大家不要噴 最近寫專案遇到一些問題關於actiobar佈局不能填滿actionbar的問題 下面我就來說一說我從遇到這個問題一直到解決問題的過程,希望能幫助遇到和我一樣問題

QML GridLayout 拉伸滿布

       今天在網上看到一些同學說QML 的佈局不好用, GridLayout 不像 Qt C++ 中的一樣,可以自動拉伸,其實在QML 中也是可以的,只是姿勢不對而已,先看程式碼。 impor

android應用自適應多解析度的解決方法

1. 首先是建立多個layout資料夾(drawable也一樣)。 在 在res目錄下建立多個layout資料夾,資料夾名稱為layout-800x480等。需要適應那種解析度就寫成什麼。 注意:          a.   較大的數字要寫在前面:比如layout-

4.8.4 如何去掉Android 應用actionbar

只需要在清單檔案中的相應的activity 中新增一個theme 的屬性,然後賦值為@style/Theme.AppCompat.Light.NoActionBar; <activity an

AndroidToolbarActionBar選單不現實icon的解決方案

文章目錄 關於Android開發中menu的選項選單不顯示icon的問題處理 一、普通的`menu`佈局 二、解決方案

Android 應用開發】 ActionBar 樣式具體解釋 -- 樣式 主題 簡單介紹 Actionbar 的 icon logo 標題 菜單樣式改動

detail sub str 進度條 代碼分析 extc dst 模式 html 作者 : 萬境絕塵 ([email protected]/* */)轉載請著名出處 : http://blog.csdn.net/shulianghan/article/deta

解決Android 應用方法數不能超過65K的問題

end apk pop override ets col tail -a enable Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65

Android問題集錦:actionbar的overflow彈出menu在ActionBar上方問題解決

原先,Android 5.0以前,點選ActionBar中的更多按鈕“:”,彈出的Overflow選單在ActionBar下方,而最新的5.0,5.1,Overflow選單會出現在ActionBar上方,那麼如何將最新的Overflow選單還原到以前呢,下面是解決方法: 前提條件:專案已引用ap

Android問題集錦:getActionBar為null的解決以及ActionBar的Back鍵

我最開始的需求是,修改Actionbar的標題文字,用的方法是, ActionBar actionBar = getActionBar(); 發現這樣獲取的actionbar的例項為null,於是開啟了查詢資料的旅程,找到解決方案如下: 問題原因: Activity基類引起的,當使用

android 應用啟動出現actionbar 或者空白介面

以前在做一個應用的時候,如果用了v7的包啟動會先出現actionbar一段時間, 如果沒有用v7包就空白一段時間 解決方法: 在style.xml 檔案中新建一個style 主題 <style name="Theme.Start" parent="android:Them

Android應用安全常見問題及解決方案

內容來源:2018 年 09 月 15 日,華為資深技術專家李欣哲在“從研發到測試,手把手教你打造綠色應用”進行《應用安全常見問題及解決方案》的演講分享。IT 大咖說作為獨家視訊合作方,經主辦方和講者審閱授權釋出。 閱讀字數:3315 | 9分鐘閱讀 觀看嘉賓演講視訊及PPT,請點選:t.cn/E2DtMQW

【轉載】Windows10用fiddler抓包Android應用解決手機設定代理後無法上網,設定只抓app包)

1、環境準備 1、電腦上安裝fiddler 2、手機和電腦在同一個區域網內 2、設定 1.fiddler>Tools>Fiddler Options>

Android應用安裝完成後開啟應用出現初始化兩次解決方案

 啟動介面加上 if (!isTaskRoot()) { finish(); return; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

徹底解決Android 應用方法數不能超過65K的問題

尊重原創 :http://blog.csdn.net/yuanzeyao/article/details/41809423作為一名Android開發者,相信你對Android方法數不能超過65K的限制應該有所耳聞,隨著應用程式功能不斷的豐富,總有一天你會遇到一個異常:Conv

android使用Toolbar替換ActionBar

在manifest.xml檔案中更改: <activity android:name="nameActivity" android:screenOrientation="portrait" android:theme="@style/

android 舊版actionbar升級toolbar出現的問題

之前因為有的專案是n年前開發過來的, 結果因為使用了很老的actionbar,現在升級了下,結果出現頁面亂版 compile 'com.android.support:appcompat-v7:25.2.0' 左邊出現空白,右邊出現空白, 標題還右移動了,因為上

解決啟動Android應用程式時出現白屏或者黑屏的問題

通過設定主題來防止白屏或者黑屏 一般情況下,啟動頁面通常是全屏的,而且會用一張圖片來展示使用者開啟應用程式後第一眼看到的介面。在手機中點選應用程式的圖示到應用程式顯示完MainActivity的檢視這個過程中,通常會用一到兩秒的時間。在預設activity的主

解決android 應用首次啟動的時候,閃現短暫的白屏或黑屏等

解決方案: 在清單檔案中的activity使用android 主題Theme.Translucent.NoTitleBar ... <activity

Android:在Eclipse下開發android應用產生的問題及解決方法

總結下,新手在使用eclipse開發android過程中可能遇到的一些問題。 1、升級sdk後遇到的問題:Unable to execute dex: java.nio.BufferOverflowException. 具體資訊如下: Unable to execute d

Android應用獲取通知欄許可權是否開啟--以及跳轉到系統設定介面--解決方案

因為專案用到推送功能,所以需求是知道使用者是否開啟了通知欄的許可權,並且提供滑動按鈕進行跳轉以便使用者進行關閉或者開啟。 1.獲取通知欄許可權是否開啟: /** * 獲取通知欄許可權是否開啟 * */ public class Notifica