1

我們知道,縱向(56dp)和橫向(48dp)的工具欄高度應該不同。有沒有辦法讓工具欄改變方向變化的高度(以及縮放標題和圖像)?Android響應式工具欄高​​度

我強烈希望保存在AndroidManifest這一行,因爲它是用於其他用途非常有用:

android:configChanges="orientation|screenSize" 

(在搜索菜單的工具欄住宿是非常有用的我真的不知道一個好的方法做到這一點不android:configChanges

回答

0

有一個醜陋的方式做到這一點,你知道會的高度,通過使用自定義TextViewToolBar裏面的標題是什麼,後來擴展一切,當用戶旋轉手機。

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" > 

     <TextView 
      android:textColor="?android:textColorPrimary" 
      android:id="@+id/titleTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      /> 

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

在這裏,你Activity直接的onConfigurationChanged,我們改變了ToolBar的高度並設置了自定義標題的文本大小;

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    View tb = findViewById(R.id.toolbar); 
    TextView titleTextVIew = (TextView) findViewById(R.id.titleTextView); 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     tb.getLayoutParams().height = (int) Tool.convertDpToPixel(48, this); 
     titleTextVIew.setTextSize(TypedValue.COMPLEX_UNIT_SP,15); 
    }else { 
     tb.getLayoutParams().height = (int) Tool.convertDpToPixel(56, this); 
     titleTextVIew.setTextSize(TypedValue.COMPLEX_UNIT_SP,20); 
    } 
    super.onConfigurationChanged(newConfig); 
}