2012-10-14 43 views
7

Tôi muốn sử dụng một hoạt động trong hai cách cư xửandroid actionbar - tháo actionbar động

  1. Nó cho thấy một danh sách các mục có thể được chỉnh sửa, người mới được bổ sung vv
  2. Nó cho thấy danh sách các mục trong để chọn một.

Vì logic chính của Hoạt động là hiển thị danh sách các mục tôi muốn xử lý hai trường hợp này trong cùng một Hoạt động. Tuy nhiên trong 1. Tôi muốn hiển thị thanh hành động để người dùng có thể điều hướng từ đó đến bất cứ nơi nào muốn. Trong trường hợp 2. Tôi không muốn bất kỳ thanh hành động nào được hiển thị, tất cả người dùng có thể làm là chọn một mục hoặc nhấn hủy/quay lại.

Cách tốt nhất để đạt được điều này là gì. Dự đoán đầu tiên của tôi sẽ là hai chủ đề mà tôi đặt tự động những gì trong hai trường hợp là bắt buộc. Nhưng tôi tự hỏi nếu đó cũng là một cách để dễ dàng loại bỏ các actionbar từ màn hình programmatically mà sẽ giúp tôi tiết kiệm từ tuyên bố hai chủ đề vv Bất kỳ đề nghị làm thế nào bạn xử lý yêu cầu này sẽ rất hữu ích.

Cảm ơn

Trả lời

2

Nếu bạn muốn thực sự loại bỏ các thanh hành động (không tạo ra nó ở nơi đầu tiên) như trái ngược với tạo ra nó nhưng sau đó chỉ cần ẩn nó ngay lập tức, bạn có thể làm điều đó thông qua các chủ đề hoặc thông qua mã.

Via chủ đề hoặc các thuộc tính kiểu:

Sử dụng một trong các chủ đề hệ thống ấn định trước như Theme.Holo.NoActionBar hoặc biến thể của nó. Đây là cách dễ nhất để làm điều đó.

Nếu bạn muốn xác định sử dụng thuộc tính bên trong chủ đề tùy chỉnh của bạn, sau đó bạn có thể làm điều này:

<resources> 
    <style name="MyTheme" parent="some_parent_theme"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowFullscreen">true</item> 
    </style> 
</resources> 

Bây giờ thêm chủ đề này để hoạt động hoặc ứng dụng của bạn.

Via đang (chắc chắn rằng bạn gọi đây là trước khi setContentView trong Activity.onCreate):

requestWindowFeature(Window.FEATURE_NO_TITLE);