當前位置:首頁 » 安卓系統 » androidtoolbarmenu

androidtoolbarmenu

發布時間: 2023-01-26 12:08:48

A. Toolbar使用

Toolbar是Android 5.0中引入的一個新控制項。好比是ActionBar升級版,但是相比ActionBar,Toolbar變得更加自由,可以放到任何位置。

由於我們平常開發app要兼容5.0以下的手機,所以使用Toolbar必須引用appcompat-v7兼容包,Android studio新建的工程默認是引用了appcompat-v7。

使用Toolbar替代ActionBar,使用的主題必須是沒有ActionBar的,否則會造成沖突。因此修改style.xml中主題樣式,繼承Theme.AppCompat.NoActionBar

這種情況一般發生在你想利用ActionBar現有的一些功能(比如能夠顯示菜單中的操作項,響應菜單點擊事件,使用ActionBarDrawerToggle等),但是又想獲得比actionbar更多的控制許可權。

那麼當前Activity需要繼承AppCompatActivity,調用setSupportActionBar方法傳入Toolbar的實例對象。

這種情況當前Activity可以不繼承AppCompatActivity。

以上步驟完成後,Toolbar就添加到了頁面中。

Toolbar在ActionBar原有的設計基礎上又將標題欄分為了多個區域,如下從Google找到的一張示例圖所示:

大抵來說,配置常用的幾個元素就如圖中所示:

設置導航按鈕,比如作為返回按鈕。
在Toolbar當作ActionBar來使用的情況下:
注意setNavigationIcon需要放在 setSupportActionBar之後才會生效。

可以使用ActionBar原有方法來添加一個系統的返回按鈕。

可以通過setNavigationOnClickListener設置其點擊事件。

設置圖標(圖中寫錯了,應該是setLogo)

設置主標題。
在Toolbar當作ActionBar來使用的情況下:
setDisplayShowTitleEnabled需要設置為false,setTitle才能有效。

設置副標題

設置菜單的點擊事件,如果Toolbar當作ActionBar來使用的話,還可以直接在onOptionsItemSelected(MenuItem item)中設置。

關於Toolbar的初步使用就這么多,在Toolbar當作ActionBar使用的情況下,能用ActionBar原有方法實現的功能盡量用其方法實現,不能實現的再考慮使用Toolbar的方法,舉個例子,像菜單構建設置監聽什麼的,直接使用Activity提供的方法就好了。

B. android ToolBar中menu中的字體太小,怎麼辦

android – How to set a font for the Options menu? – Stack Overflow

去看看自己此處menu對應的xml,看看是否有對應的配置選項。

直接添加:

android:textSize="16sp"

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/menu_discard"
android:icon="@drawable/error_white"
android:orderInCategory="1"
android:showAsAction="ifRoom|withText"
android:title="@string/discard"
android:textSize="16sp"/>
<item
android:id="@+id/menu_send"
android:icon="@drawable/forward_white"
android:orderInCategory="2"
android:showAsAction="ifRoom|withText"
android:title="@string/send"
android:textSize="16sp"/>

</menu>

C. 如何添加toolbar的導航按鈕 android

在res目錄下的menu目錄下,新建自己的菜單文件,如下
[html] view plain
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.carlos.myapplication.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
<item
android:id="@+id/history"
android:title="歷史"
app:showAsAction="never"/>

D. android 怎麼獲取toolbar上的menu view

放兩個panel 在窗體上,都設置屬性Dock 為 top , menu 放在上面panel里,toolbar放在下面的panel Android Menu的文字有兩種設置方式: 在 menu.xml中設置。 在java代碼onCreateOptionsMenu中設置。 以下為示例代碼: 在menu.xml中指定title即可...

E. Android 中通用的Toolbar和Error,Empty,Loading UI 處理

在Android 開發中Activity幾乎都有Toolbar(menu也在裡面)和以及Http 請求的時候出現的Error,Empty,Loading等UI 需要處理,怎麼能快速簡單高效處理呢?

如下面所示,默認都是需要Toolbar 的,如果不需要就設置為不可見就好了;
而不同的Activity 中的內容實際是放在(FrameLayout)fl_content 中的。

怎麼處理不同的Activity 中的內容實際是放在(FrameLayout)fl_content 中的呢?

這種問題幾乎每個頁面都會遇到,難道每個頁面都是使用FrameLayout 疊加兩層內容來處理?😄,推薦一個項目LoadSir: https://github.com/KingJA/LoadSir

在BaseActivity 中已在 LoadSir.getDefault().register(content 了

使用的時候只要大概這樣就好了:

F. Android ToolBar上的menu圖標怎麼在點擊之後更換

對於點擊就能改變狀態的 一般都是在drawable中自定義一個xml文件使用

<selector>
<item android:state_pressed="false">
//...
</item>
<item android:state_pressed="true>
//...
</item>
</selector>

G. android 怎樣獲取toolbar上的菜單控制項

toolbar一般是不可能遮住其它控制項的,toolbar是工具欄。通常在操作系統,Office 2010或其它軟體的界面中都有一個工具欄。 在PS中,界面左側有鋼筆工具,索引工具,圖章工具等等的一個框也是工具欄,也叫工具箱。 在計算機顯示器的圖形用戶界面上,工具欄放置了界面按鈕、圖標、菜單或其它輸入/輸出元素。 工具欄是顯示點陣圖式按鈕行的控制條,點陣圖式按鈕用來執行命令。按工具欄按鈕相當於選擇菜單項;如果某個菜單項具有和工具欄按鈕相同的ID,那麼使用工具欄按鈕將會調用映射到該菜單項的同一個處理程序。可以配置按鈕,使其在外觀和行為上表現為普通按鈕、單選按鈕或復選框。工具欄通常與框架窗口的頂部對齊,但 MFC工具欄可「停靠」在其父窗口的任何一邊或在它自己的袖珍框架窗口中浮動。工具欄也可「浮動」,用戶可更改其大小並用滑鼠拖動它。當用戶將滑鼠移動到工具欄按鈕上時,工具欄還可顯示工具提示。工具提示是個彈出的小窗口,簡要描述按鈕的作用。 有些應用程序,如圖形編輯軟體,允許工具欄分離並在窗口或其它工具欄之間移動。工具欄在辦公軟體套裝上很常見,如OpenOffice.org、圖形編輯軟體以及網頁瀏覽器如Inkscape和Mozilla Firefox。

H. Android:關於Toolbar的樣式

早就已經拋棄Android中的ActionBar已經很久了,現在在v7中的Toolbar已經爬坑很久了。對於它的樣式,也是用到的時候才會去查一下,但是有時候網路查的時候也是很麻煩,需要很久,索性就把常用到的樣式給記錄下來,以備不時之需,到時可直接復制粘貼大法到自己的項目中去了。廢話不多說了,GETING START!!!

設置toolbar的主題: android:theme="@style/......."

上邊兩種樣式是黑白標題的兩種樣式默認的顯示情況。

有時候標題欄的顏色並不符合我們的要求,我們就修改下標題欄的顏色
在白色樣式上進行修改,標題文字,navigation icon,overflow button,overflow menu的文字

<item name="subtitleTextColor">#09bb07</item> 這行主要是修改副標題的字體顏色
可以看到,除了overflow menu 的背景顏色沒有改變 其他的字體顏色都會改變

添加OverflowMenu樣式為 app:popupTheme="@style/......."

Toolbar兩種不同的主題,對應的OverflowMenu樣式也不同。白色的對應是黑色背景、白色字體;黑色對應的是白色背景,黑色字體。

注意:添加上OverflowMenu的樣式後,之前修改標題欄字體顏色對菜單的字體顏色就不起作用了,需要重新在OverflowMenu的樣式上定義字體顏色了

I. Fragment中添加menu

Fragment是Android裡面中一個非常靈巧的設計,它可以看做ui模塊,由活動託管。熟練的使用它們能優雅的實現很復雜的界面,而且用它們編寫UI界面,相對於用一個個Activity所消耗內存少得多,而且切換很流暢,可以參考知乎客戶端。

但是,Fragment使用過程中會出現一些小問題,這里講如何在Fragment中添加menu。我們都知道在活動中添加menu只用編寫好menu,在onCreateOptionsMenu中載入,並在onOptionsItemSelected中處理點擊事件就可以了,按照這個流程先試下

首先編寫menu.xml

這里只添加一個設置的menu item

然後要載入menu需要toolbar或actionbar,這里分兩種情況:

然後再調用onCreateOptionsMenu載入到toolbar上

運行一下,你會發現兩種情況下menu都沒載入出來。原來要在fragment中載入menu還需在其onCreate中加一句 setHasOptionsMenu(true),用於讓活動知道有menu要載入

現在menu載入出來了

然後重寫onOptionsItemSelected處理點擊事件

現在就大功告成了嗎,然而運行後會發現無論怎麼點擊onOptionsItemSelected都沒被調用。可以再android training中找到原因
http://developer.android.com/guide/topics/ui/actionbar.html

也就是說在雖然在fragment中重寫onOptionsItemSelected,但系統會在activity中先調用onOptionsItemSelected,而活動中默認都消耗了點擊事件,fragment中因此無法處理點擊。所以要先在託管碎片的活動中講frament中處理的menu item返回false,讓點擊事件能穿到fragment的onOptionsItemSelected中

總結下
要在fragment添加menu需要以下步驟:

J. Android Toolbar的詳細使用步驟

1.首先在 build.gradle 引入support v7包

2.找到 Manifest 文件的 Application 標簽下 Theme 屬性

3.自定義 Theme 屬性,因為 Activity 默認是有 ActionBar 的,所以需要先將默認的 ActionBar 去掉( parent="Theme.AppCompat.Light.NoActionBar" ),並根據項目需求選擇主題的每個特定的屬性

附錄一張常用屬性圖,上面的每個屬性就很好理解了。

1.先在需要添加 Toolbar 的 xml 文件中,加入 Toolbar 控制項

解釋一下 Toolbar 裡面的屬性,這裡面的屬性大多見名知意,很好理解。
我們發現 Toolbar 裡面有三個屬性是以 app 作為前綴,因為 Toolbar 在 5.0 系統才出現,以 app 為前綴名的屬性是為了兼容 5.0 以下的系統 。
咱們一個個分析,先講下這個屬性

這個根據項目需求,我們自定義的 Toolbar 屬性。關鍵點:因為我們 App 的主題是淺色的主題 "Theme.AppCompat.Light.NoActionBar" ,所以 Toolbar 中,我們繼承了 parent="ThemeOverlay.AppCompat.Dark.ActionBar" , 如果 Toolbar 不用深色的主題,標題欄的字體之類看不清楚。

見名知意,這是 PopWindow 的主題,由於我們 ActionBar 設置的是深色的,默認情況下, PopWindow 和 ActionBar 的主題是統一的,但 PopWindow 的深色主題和整個 App 的整體顏色風格太不搭,所以我們需要將主題改成和 App 風格一致。

以上屬性都是根據項目需求設定的,可加可不加, Toolbar 的可定製性很強~

這樣我們就做到了,隱藏 ActionBar,使用 Toolbar 了。 注意:標題欄是默認在左上角的,並沒有居中

1.先自定義標題欄,讓標題居中

2.在 Toolbar 上添加幾個按鈕,先在 res 目錄下新建一個文件夾 Menu ,創建一個 toolbar_menu.xml 文件

在MainActivity 重寫 onCreateOptionsMenu 、onOptionsItemSelected 方法

熱點內容
伺服器內網ip和外網ip是什麼 發布:2024-04-30 15:13:13 瀏覽:752
c編譯的產物 發布:2024-04-30 15:07:07 瀏覽:58
sql2000服務 發布:2024-04-30 15:00:05 瀏覽:530
如何導出土豆緩存視頻 發布:2024-04-30 14:39:36 瀏覽:470
圖論環的演算法 發布:2024-04-30 14:39:35 瀏覽:641
演算法課項目 發布:2024-04-30 14:23:34 瀏覽:245
路由器無線密碼從哪裡看 發布:2024-04-30 13:41:07 瀏覽:765
安卓由哪個公司提供 發布:2024-04-30 12:27:03 瀏覽:417
伺服器2個cpu的內存如何安裝 發布:2024-04-30 12:19:02 瀏覽:329
如何搭建outlook伺服器 發布:2024-04-30 10:46:50 瀏覽:638