Android 修改 Toolbar 高度

MarianMinni 8年前發布 | 91K 次閱讀 Android開發 移動開發

來自: http://blog.csdn.net//never_cxb/article/details/50492633


前言

Android 現在 Google 推出的Material Design很流行,筆者嘗試了一下,并試圖修改 Toolbar 高度(這可能是個偽需求,自己強迫癥),這兒做下記錄。如果錯誤之處,歡迎指出。
文章 地址 http://blog.csdn.net/never_cxb/article/details/50492633,轉載請注明出處。

圖片名稱

常規方法

注意使用 android.support.v7.widget.Toolbar 這個控件

<android.support.v7.widget.Toolbar
  android:id="@+id/toolbar"
  android:layout_height="wrap_content"
  android:layout_width="match_parent"
  android:minHeight="?attr/actionBarSize">                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
</android.support.v7.widget.Toolbar>

還需要在 MainActivity.java里面申明 toolbar

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("電院新聞");
setSupportActionBar(toolbar);

得到的效果如下:

圖片名稱

如何 改變 Toolbar 高度

可是筆者強迫癥了,覺得這個 Toolbar·留的 padding 太大了。

圖片名稱

比如網易人家的Toolbar 就很緊湊,對于新聞來說,緊湊可以節省更多空間供新聞閱讀。

其實筆者后來思考了一下:網易新聞估計不一定是用 Toolbar 原生的設置標題、搜索框,直接用一個.9.png背景紅色圖片,上面再加上搜索框等等。這樣上面 Toolbar 的大小就很容易設置。

樓主想修改 Toolbar 大小,參考了 stackoverflow的這篇文章 。http://stackoverflow.com/questions/26455027/android-api-21-toolbar-padding有了下面的記錄。

實現思路就是

不要默認的 toolbar.setTitle("電院新聞");,自己在 Toolbar 里面加個子控件 TextView,表示標題。。好像這個思路很不優雅。。
android:layout_height 設為給定值,去掉android:minHeight

不知道有沒有更加優雅的方法實現?

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:background="?attr/colorPrimary"
    android:padding="0dp"
    app:theme="@style/ThemeOverlay.AppCompat"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:layout_scrollFlags="scroll|enterAlways">

<TextView
    android:id="@+id/toolbar_title"
    android:layout_width="match_parent"                                    
    android:layout_height="wrap_content"
    android:layout_marginLeft="0dp"
    android:layout_marginStart="0dp"
    android:gravity="center"
    android:text="@string/app_name"
    android:textColor="@color/white"
    android:textSize="20sp" />

</android.support.v7.widget.Toolbar></pre>

上面的 xml 中我們把 Title 設置在了中間。還要注意在 MyActivity.java 把默認的 title 隱藏

setSupportActionBar(toolbar);
//設為 false
getSupportActionBar().setDisplayShowTitleEnabled(false);

效果圖如下

圖片名稱

android:layout_height 和 android:minHeight

一般 Toolbar都是這么設置的,有了minHeight保證 Toolbar 不會比設定的?attr/actionBarSize

android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"

android:minHeight ensures that your toolbar will not resize itself smaller than ?attr/actionBarSize value.

</blockquote>

工具

Android 開發者經常需要透明色的圖片,開發人員可以利用下面網站快速生成透明色圖片。

在線圖片去底工具 - 將純色背景的圖片轉換為背景透明的圖片 http://www.2gei.com/bgremover

參考文章

Android API 21 Toolbar Padding http://stackoverflow.com/questions/26455027/android-api-21-toolbar-padding

Height vs minHeight Toolbar

</div>

 本文由用戶 MarianMinni 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!