2016-02-11 54 views
11

Tôi đang thêm Toolbar vào trong ứng dụng của mình nhưng có vẻ như tôi gặp sự cố. Trong ứng dụng, tôi nên có một nút ở bên phải màn hình và tiêu đề ở giữa. Nhưng khi tôi đi sâu hơn trong ứng dụng, tôi sẽ hiển thị mũi tên quay lại ở bên trái, bằng cách thực hiện getSupportActionBar().setDisplayHomeAsUpEnabled(). Và điều này hoạt động tốt nhưng khi tôi thêm nút quay lại, văn bản sẽ di chuyển sang phải để nút quay lại có thể có một số khoảng trắng tôi đoán. Ai đó có thể cho tôi biết làm thế nào tôi có thể có nút của tôi ở bên phải và tiêu đề luôn ở trung tâm, không có mather nếu nút quay lại được hiển thị hay không?Tiêu đề căn chỉnh của Thanh công cụ ở giữa với nút quay lại

Đây là thanh công cụ mã bố trí xml của tôi:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/white" 
    android:padding="5dp" 
    tools:ignore="MissingPrefix"> 

    <RelativeLayout 
     android:id="@+id/toolbar_info_holder" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:id="@+id/toolbar_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:gravity="center" 
      android:textColor="@color/actionbar_title_color" /> 

     <ImageView 
      android:id="@+id/toolbar_image" 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" /> 

     <TextView 
      android:id="@+id/toolbar_count" 
      android:layout_width="13dp" 
      android:layout_height="13dp" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true" 
      android:background="@drawable/red_circle" 
      android:gravity="center" 
      android:text="4" 
      android:textColor="@color/white" 
      android:textSize="9sp" /> 
    </RelativeLayout> 

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

Chỉ cần một số cách giải quyết khác, nhưng một ý tưởng ngắn và đắt tiền sẽ là thêm mũi tên quay lại vào bố cục, ẩn, hiển thị và kiểm soát hành vi của chính bạn. – yennsarah

+1

@ Có tôi nhưng, đó là một thực hành tốt. Tôi đang tìm kiếm một giải pháp tốt nên tôi có thể sử dụng nó trong tương lai và nó sẽ giúp người khác cũng như –

+0

Nếu không có khả năng nào khác, nó có thể là một sự lựa chọn tốt. Nếu không, đây chỉ là một ý tưởng cho một sửa chữa nhanh. :) – yennsarah

Trả lời

0

Trước hết, một vài lời khuyên chung. Đây là mục đích chính xác đằng sau Android Hierarchical view. Sử dụng điều đó để tìm hiểu đối tượng chứa của nút quay lại là cách mọi thứ khớp với nhau, v.v.

Tôi nghi ngờ bạn có thể giải quyết vấn đề của mình bằng cách thay đổi một số số wrap_content thành match_parent. Cụ thể, tôi nghi ngờ rằng việc thay đổi nó trong số RelativeLayout của bạn cho số layout_width sẽ thực hiện thủ thuật. Nhưng ngay cả khi điều đó không, hãy sử dụng chế độ xem Phân cấp để hiểu rõ hơn về chính xác những gì xảy ra khi bạn đang chơi xung quanh và nó sẽ giúp chỉ cho bạn đúng hướng.

5

gì làm việc cho tôi là để thiết lập:

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center" 
android:gravity="center" 

đến xem con của Thanh công cụ, mà là một LinearLayout cho tôi (và một RelativeLayout cho bạn). Nghe có vẻ lạ với tôi trước nhưng nó hoạt động nên tôi sẽ không phàn nàn.

+0

Chắc chắn không phải là câu trả lời cho vấn đề này – josemigallas

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