Android 修改 Toolbar 高度
來自: 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
</div>