5

Im cố gắng để thiết lập vị trí của biểu tượng điều hướng trở lại của tôi trong thanh công cụ mở rộng của tôi như sau:Toolbar nút hấp dẫn cho thanh công cụ mở rộng

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    app:theme="@style/Toolbar" 
    android:minHeight="@dimen/action_bar_height" 
    app:buttonGravity="top" 
    android:gravity="top" 
    android:background="?attr/colorPrimary" /> 

Kiểm tra nguồn của thanh công cụ chúng ta có thể thấy như sau:

private void ensureNavButtonView() { 
    if (mNavButtonView == null) { 
     mNavButtonView = new ImageButton(getContext(), null, 
      R.attr.toolbarNavigationButtonStyle); 
     final LayoutParams lp = generateDefaultLayoutParams(); 
     lp.gravity = GravityCompat.START | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK); 
     mNavButtonView.setLayoutParams(lp); 
    } 
} 

đâu mButtonGravity được gán qua

mButtonGravity = a.getInteger(R.styleable.Toolbar_buttonGravity, Gravity.TOP); 

Vì vậy, đọc sách này một cách chính xác, t trọng lực của thanh công cụ của tôi phải là Gravity.TOP nếu không có gì được định cấu hình. Tuy nhiên nó trông như thế này:

enter image description here

+0

Vui lòng dán toàn bộ xml tại đây – Gaskoin

Trả lời

12

tôi đã chơi xung quanh một chút và thử nghiệm một vài kết hợp và có thể nói lực hấp dẫn của nút đó và android:minHeight không muốn trở thành bạn bè.

này nên hoạt động tốt:

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:layout_height="@dimen/action_bar_height" 
    android:layout_width="match_parent" 
    app:theme="@style/Toolbar" 
    android:minHeight="?attr/actionBarSize" 
    android:gravity="top" 
    android:background="?attr/colorPrimary" /> 
+5

+1 Đây là câu trả lời đúng. Không cho phép 'minHeight' kiểm soát thanh công cụ của bạn, nó sẽ làm tăng các phép đo trọng lực. Luôn đặt 'minHeight' thành kích thước mặc định và đặt mặt mở rộng của bạn làm chiều cao bố cục. – Devunwired

4

Nếu bạn muốn các biểu tượng trên đầu trang và tiêu đề ở phía dưới bạn có thể thử một cái gì đó như thế này:

<Toolbar 
    android:id="@+id/toolbar" 
    android:layout_height="128dp" 
    android:layout_width="match_parent" 
    android:minHeight="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:gravity="bottom" /> 

Sử dụng thuộc tính android:minHeight như standardBarSize, các nút và hành động được đặt ở trên cùng. Trong khi sử dụng thuộc tính android:gravity, bạn có thể đặt vị trí của tiêu đề ở dưới cùng.

+1

cách đặt tiêu đề bên cạnh mũi tên quay lại? –

Các vấn đề liên quan