2013-09-27 115 views
5

Tôi đang sử dụng thư viện hỗ trợ appcompat v7. Các mục tác vụ hiển thị trong actionBar chỉ tốt trên các thiết bị mới hơn hoặc cũ hơn.Sử dụng thư viện hỗ trợ appcompat, Luồng không hoạt động trên API 7?

Tuy nhiên, tôi không nhận được tràn trên API 7. Ví dụ:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:appcompat="http://schemas.android.com/apk/res-auto" > 

    <item 
     android:id="@+id/menuAction" 
     android:icon="@android:drawable/ic_menu_directions" 
     android:title="@string/barButtonTitle" 
     appcompat:showAsAction="always|withText"/> 
    <item 
     android:id="@+id/menuAction1" 
     android:title="@android:string/untitled" 
     appcompat:showAsAction="never"/> 

</menu> 

appcompat:showAsAction="always|withText" công trình, nó cho thấy là một mục Action trong ActionBar. Tuy nhiên, appcompat:showAsAction="never" không hiển thị trong phần Mở rộng như trong nền tảng mới hơn. Nó được ẩn ở phía dưới và được tiết lộ khi bạn nhấn vào nút menu cũ hơn.

Đó có phải là hành vi dự định từ thư viện hỗ trợ appcompat không? hoặc tôi thiếu bất cứ điều gì để có được tràn làm việc trên nền tảng cũ hơn?

+0

Nhận thấy cùng một vấn đề, vì vậy tôi đã tìm thấy câu hỏi của bạn. Bạn có tìm thấy giải pháp để trình đơn mục bổ sung hiển thị không? Có lẽ nó dự định thực sự là những thiết bị API7 sẽ luôn có một nút menu. – 3c71

+0

không bao giờ nhận được tràn làm việc trên API 7. Mặc dù nó không phải là một stopper hiển thị cho tôi vì mục vẫn có thể được tiết lộ bởi nút menu cũ. vẫn tự hỏi nếu đây chỉ là một lỗi mà Google đang làm việc trên nó? – Sean

Trả lời

0

Các tràn không hiển thị trong các phiên bản cũ như xa như tôi đã nghiên cứu, nhưng bạn có thể sử dụng trong các biểu hiện của bạn (bên trong mức độ hoạt động) như sau (cho ICS trước):

<activity ...> 
<meta-data android:name="android.support.UI_OPTIONS" 
       android:value="splitActionBarWhenNarrow" /> 
</activity> 

này sẽ hiển thị hành động này ở phía dưới màn hình, bạn phải thêm vào trong tất cả các hoạt động bạn muốn có hành vi này. Đối với ICS> bạn có thể thêm thông tin sau vào tệp kê khai ở cấp ứng dụng, điều này sẽ có hiệu lực trong tất cả các hoạt động.

<application android:uiOptions="splitActionBarWhenNarrow"> 
</application> 
2

Hành vi dự định từ thư viện hỗ trợ appcompat?

Vâng, đó là


Nút tràn (3 chấm) chỉ được hiển thị nếu thiết bị không có một nút menu phần cứng.

Mỗi gingerbread-thiết bị phải có một menu-nút, do đó nút tràn won't hiển thị trên mức API 7

Để biết thêm thông tin về chủ đề này, blog-bài sau đây có thể là thú vị: http://android-developers.blogspot.de/2012/01/say-goodbye-to-menu-button.html

+0

Chào mừng bạn đến với StackOverflow và cảm ơn câu trả lời của bạn. Nhưng nó có vẻ không đầy đủ. "Vậy ... cái gì?" có thể là câu hỏi :-). Cảm ơn bạn đã chỉnh sửa/hoàn thành câu trả lời của mình. – lorenz