使用setCustomView建立標題居中的自定義ActionBar
ActionBar因為溢位選單的原因導致沒有辦法讓標題居中,但是我們又經常有樣式需要標題居中,所以使用自定義ActionBar的佈局是最正確的選擇,可以在xml佈局檔案中進行檢視的定製。
定製使用到的api是ActionBar中提供的 void setCustomView(View) 函式。
定義的檢視是這個樣子的:
標題終於居中了。
這裡沒有涉及到任何ActionBar的style修改,也只有一個activity;
MainActivity.java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 返回箭頭(預設不顯示) getActionBar().setDisplayHomeAsUpEnabled(false); // 左側圖示點選事件使能 getActionBar().setHomeButtonEnabled(true); // 使左上角圖示(系統)是否顯示 getActionBar().setDisplayShowHomeEnabled(false); // 顯示標題 getActionBar().setDisplayShowTitleEnabled(false); //顯示自定義檢視 getActionBar().setDisplayShowCustomEnabled(true); View actionbarLayout = LayoutInflater.from(this).inflate( R.layout.actionbar_layout, null); getActionBar().setCustomView(actionbarLayout); } }
actionbar_layout.xml
補充兩個用到的圖示,透明白色圖示(白色圖示看不到,在空白處點選另存為就好)<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:paddingLeft="10dp" android:paddingRight="10dp" > <ImageButton android:id="@+id/left_imbt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:background="@null" android:src="@drawable/b" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:textColor="#FFFFFFFF" android:textSize="18sp" android:text="標題" /> <!-- actionbar 右邊按鈕 --> <ImageButton android:id="@+id/right_imbt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="@null" android:src="@drawable/k" /> </RelativeLayout>
b.png:;k.png
雖然只有這兩個檔案用到和修改到,但是最小的版本也要支援ActionBar;
這裡補充一下setHomeButtonEnabled函式,控制左上角圖示是否顯示出來,小於4.0版本的預設值為true的。在4.0及其以上預設值是false;
本文來自CSDN部落格 轉載請聯絡作者並註明出處http://blog.csdn.net/dreamintheworld/article/details/39314121
相關推薦
使用setCustomView建立標題居中的自定義ActionBar
ActionBar因為溢位選單的原因導致沒有辦法讓標題居中,但是我們又經常有樣式需要標題居中,所以使用自定義ActionBar的佈局是最正確的選擇,可以在xml佈局檔案中進行檢視的定製。 定製使用到的api是ActionBar中提供的 void setCustomView(
自定義ActionBar,ActionBar標題居中
actionBar = getActionBar(); actionBar.show(); // 返回箭頭(預設不顯示) actionBar.setD
自定義ActionBar標題與選單中的文字樣式
自定義標題文字樣式 標題樣式是ActionBar樣式的一部分,所以要先定義ActionBar的樣式 <stylename="AppTheme" parent="AppBaseTheme"> <itemname="android:actionBar
自定義ActionBar的高度、標題與選單中的文字樣式
自定義ActionBar高度 通過actionBarSize設定了ActionBar的高度 <style name="AppTheme" parent="AppBaseTheme"> <item name="android:act
如何自定義ActionBar顯示標題在中間位置
在Android3.0以後就開始引入了ActionBar了,這篇重點記錄如何自定義ActionBar讓標題顯示在中間的位置。雖然android手機有自帶的返回鍵,不過當今很多應用還是新增actionbar顯示標題在中間,在左側加入一個返回按鈕。 新增一個A
微信網頁分享標題圖片自定義設置(最新)
內容 outline 朋友圈 exe ech pem read 解決方法 highlight 1 前言 剛好有微信網頁分享標題圖片自定義設置這個需求,然後查找文檔,發現有兩種方案[1],但是第一種方案已經失效了,只能走第二種方案,然後根據實戰配置好了,本文會寫上配置中遇到的
自定義Actionbar
最近在專案中大量使用actionbar,所以把自定義的一些屬性總結一下。 效果如下: 1、自定義actionbar 在theme的style中設定 <item name="android:actionBarStyle">@style/CustomActionBar&
javascript 建立並匯入自定義庫
//先建立一個js格式寫入 //建立物件 function $(){ return new Base(); } function Base(){ this.ele=[];//儲存節點物件 } //新增方法 Base.prototype.getID=fu
執行緒建立 pthread_create 中自定義引數注意事項
1. 函式原型 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 本文主要討論最後一個引數,同時傳遞多個的問題
C#-XML檔案提取字串+字串存為XML檔案+建立XML(自定義節點)檔案+讀取節點內容
一、將字串寫入xml檔案(並儲存) 寫入: XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(“xmlstring”); 儲存: xdoc.Save(“pathsave.xml”) 二、將
(七)Flutter 佈局 建立小部件 自定義view 關於佈局的一些屬性 mainAxis SizeBox Alignment stack AspectRatio ConstrainedBox
主要內容 建立LayoutDemo小部件 建立可配置圖示徽章IconBadege 小部件 Row與Column mainAxis:主軸與crossAxis 交叉軸 SizeBox 固定尺寸的盒子 Alignment 對齊 stack 一摞小部件
vue-cli中如何建立並引入自定義元件
vue-cli中如何建立並引入自定義元件 1.在components(專門放元件的檔案)下建立一個header.vue檔案 2.在App.vue檔案裡新增如下程式碼 <my-head></my-head> &nbs
建立Package及自定義CMakeList.txt
建立Packages 1、Packages組成 catkin工作區的包必須包含三部分:package.xml、CMakeLists.txt以及每個包單獨的目錄(資料夾) 最簡單的包如下所示的結構: my_package/ CMake
storyboard建立一個使用者自定義的cell注意的問題
1. tableviewcell風格選custom 2. identifier必須指定(我的自定義為:dataCellID),cell初始化時必須指定到該identifier let dataCellID: String = "dataCellID" var cell =
居中自定義長度三欄佈局
<div style="display:flex;justify-content: center;"> <div style="text-align:right;display: flex;align-items: center;padding-right
利用 .NET Framework 2.0 建立並宿主自定義的設計
釋出日期: 2006-6-15 | 更新日期: 2006-6-15 本文討論: • 瞭解設計器和服務
自定義ActionBar的兩種方式(靜態&動態)
說明 Android 3.0及以上已經有了ActionBar的API,有了ActionBar的API之後可以隨意自定義自己漂亮的ActionBar了 基本知識瞭解 1.Actionbar’s API 1.1 setHomeButtonEnable
js建立物件 三 自定義構建函式建立物件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>$永遠的24k純帥$</title> <
自定義ActionBar 左邊距為0
在開發中,如果需要自定義ActionBar,或者使用ToolBar 的時候,都會發現,在ActionBar的左邊有 一塊區域覆蓋不到,如下圖: 這種情況是因為ActionBar有預設的內部左右邊距,如果要去掉這個區域,只需加上以下程式碼即可 如果是自定義Acti
自定義ActionBar -- 更換返回鍵圖示
實現上述自定義的返回鍵圖示,且圖片隨按下圖示而變化。 1 準備好倆個返回鍵圖片,利用selector設定,在不同狀態下,呼叫不同圖片。 在drawble資料夾下定義一個menu_back_bg.xml檔案: <?xml version="1.0" encodi