2012-04-17 33 views
7

Tôi đang sử dụng ActionBarSherlock và muốn có một chức năng tương tự của nút trang chủ khi nó được Google Maps biết đến.ActionBarSherlock: cách truy cập chế độ xem nút trang chủ?

Home Button like in Google Maps

Tôi đã cố gắng mở một QuickAction (http://code.google.com/p/simple-quickactions/) khi nhấn nút home với đoạn mã này:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     View anchor = findViewById(R.id.text); // how do I get the home button view here? 
     quickAction.show(anchor); 
     return true; 
    } 
    return false; 
} 

Tuy nhiên tôi đang sử dụng một TextView đơn giản của hoạt động này như một neo (R.id.text). Làm cách nào để truy xuất chế độ xem nút trang chủ từ ActionBar ở đó?

Oh và findViewById(android.R.id.home) hoặc findViewById(item.getItemId()) cả hai đều trả về giá trị rỗng.

Trả lời

6

Bạn không thể truy cập chế độ xem nhà vì nó tồn tại phía trên chế độ xem nội dung và trong trang trí cửa sổ.

Google sử dụng thanh tác vụ tùy chỉnh trên các thiết bị trước Honeycomb tồn tại bên trong chế độ xem nội dung. Đây là những gì cho phép họ thực hiện thả xuống tùy chỉnh này. Trên Honeycomb và mới hơn, họ sử dụng phiên bản điều hướng danh sách được tùy biến cao trong thanh tác vụ hệ thống.

Vì bạn đang sử dụng ActionBarSherlock bạn có hai lựa chọn:

  1. Go cho chuyển hướng phong cách mới hơn và tùy chỉnh được xây dựng trong menu danh sách.
  2. Cung cấp chế độ xem điều hướng tùy chỉnh giống như chế độ xem nhà (ví dụ: có biểu tượng ứng dụng của bạn trong đó). Với chế độ xem tùy chỉnh này, bạn sẽ có thể cung cấp một neo mà trình đơn bật lên tùy chỉnh có thể được đính kèm.
+0

Cảm ơn, Jake, để làm rõ điều này. Chỉ còn hai câu hỏi nữa để xem tôi có hiểu chính xác không: 1. Nếu tôi chọn tùy chọn 1, tôi phải tùy chỉnh điều hướng danh sách bên trong lib ActionBarSherlock, phải không? 2. Phương án 2 có nghĩa là tôi phải tắt nút trang chủ và thêm chế độ xem của riêng mình ở đó? – Konsumierer

+1

Với # 1, bạn chỉ phải cung cấp bố cục tùy chỉnh cho bộ điều hợp (cả chế độ xem được chọn và chế độ xem thả xuống) được sử dụng để điều hướng danh sách. Bạn có thể xem các ứng dụng trên ICS như Maps hoặc ứng dụng Lịch để có thể tùy chỉnh điều này thực sự như thế nào. Và đối với # 2, có, bạn sẽ phải vô hiệu hóa các mục nhà bình thường như bạn sẽ hoàn toàn thay thế nó. –

+2

hello @JakeWharton, chúng ta có thể sử dụng 'findViewById (R.id.abs__home);' để nhận biểu tượng trang chủ không? Và minSdk Apps của tôi là 10. –

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