2012-09-21 34 views
5

Tôi có một menu rộng ứng dụng sẽ không luôn hiển thị. Cụ thể đặc biệt là vấn đề của tôi là khi tôi đặt phiên bản sdk mục tiêu thành 16 cho các thiết bị không có nút menu phần cứng 3 dấu chấm (Action bar?) Sẽ xuất hiện actua \ lly thì không.Trình đơn thanh tác vụ Android không hiển thị khi phiên bản sdk mục tiêu lớn hơn 10. Tại sao?

tôi có các mục manifest sau

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10" /> 

Trong một giả lập avd không có các nút phần cứng tôi thấy 3 chấm cho thanh tác vụ đơn

Nhưng nếu tôi đặt mục tiêu đến 16

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" /> 

Không có thanh tác vụ nào xuất hiện

Tôi có các kiểu được đặt trong nhiều thư mục tài nguyên - giá trị, giá trị-v11 và các giá trị-v14

và đặc biệt trong các giá trị-v14 Tôi có một tập tin styles.xml mà các tiểu bang

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" /> 

Mục manifest để thiết lập các chủ đề có

<application android:label="@string/app_name" 
android:name="uk.co.pjadult.mobile.adult_reader_lib.BookLib" 
android:icon="@drawable/ic_launcher" 
android:theme="@style/AppTheme"> 

Tôi đang tự hỏi liệu mình có cần thiết lập thư mục tài nguyên với các kiểu cho TẤT CẢ phiên bản sdk không?

tôi đang ở một mất mát như những gì các phương pháp chính xác nên được để có thể thiết lập android: targetSdkVersion = "16" AND có thanh hành động (3 chấm) trình đơn xuất hiện

CẬP NHẬT Tôi hiện đang sử dụng ActionBarSherlock không có vấn đề nào

+0

http://developer.android.com/guide/topics/ui/actionbar.html –

+0

@RajeshRajaram Điều đó không trả lời được câu hỏi của tôi. Thanks anyway – jamesc

+0

Thanh hành động được sử dụng như một sự thay thế trong Honeycomb hoặc cao hơn khi họ nói trong trang web chính thức của Android; Vì vậy, đó là lý do tại sao bạn không nhận được nó có thể –

Trả lời

5

Xem liên kết @ Mr.S cung cấp, Android missing MENU button, để biết thêm một số vấn đề.

Nhưng để trả lời câu hỏi của bạn:

tôi lại tự hỏi nếu tôi cần phải thiết lập các thư mục tài nguyên với phong cách cho TẤT CẢ các phiên bản sdk?

No. Nó sẽ mất cao nhất API có sẵn.Ví dụ, nếu bạn có:

  • values.xml
  • values-v11.xml
  • values-v16.xml

Ví dụ sau các cấp API hệ điều hành Android sẽ sử dụng:

  • API 4: values.xml
  • API 1 0: values.xml
  • API 11: values-v11.xml
  • API 13: values-v11.xml
  • API 16: values-v16.xml

Và vân vân.

tôi đang ở một mất mát như những gì các phương pháp chính xác nên được để có thể thiết lập android: targetSdkVersion = "16" AND có thanh hành động (3 chấm) trình đơn xuất hiện

Nếu hoạt động ở chế độ toàn màn hình, mọi cấp độ API (tối thiểu hoặc mục tiêu) trên 10 sẽ làm cho các dấu chấm biến mất. Cách duy nhất xung quanh việc này là viết hệ thống menu của riêng bạn hoặc sử dụng thư viện shim như ActionBarSherlock.

Nếu hoạt động bình thường có thanh tiêu đề, nhưng bạn muốn đặt cấp API trên 10 thì bạn phải đặt mã Holo.Theme cho hoạt động. Xem bài đăng này Holo Everywhere blog và Android theme, fullscreen and the action bar để biết cách thực hiện điều đó.

CẬP NHẬT: Lưu ý rằng các nguyên tắc về phần cứng Android mới hơn không yêu cầu nút trình đơn phần cứng. Và bản hack này chỉ hoạt động đối với các thiết bị sử dụng các nút mềm (như Nexus 7). Đối với các thiết bị không cung cấp (chẳng hạn như nhiều thiết bị HTC chẳng hạn), thì sẽ không có cách nào để người dùng truy cập vào menu — ngay cả với bản hack này. Đó là cao được đề xuất để chuyển sang khái niệm thanh hành động.

+0

Cũng nên nhớ, các thiết bị mới hơn thường đi kèm với các nút chỉ có phần cứng và không có nút menu. Vì vậy, ngay cả với hack này, tính năng menu sẽ không thể truy cập được. Bây giờ, bạn nên chuyển sang thanh tác vụ. –

+0

Oh !, Tôi thực sự xin lỗi, nhưng vì những điều như vậy tôi "yêu" android ... Thanh hành động là khá tốt. Nhưng nếu tôi chuyển sang chế độ toàn màn hình! menu tràn không thể truy cập được nữa. (Tôi có thiết bị mới hơn không có nút menu HW). Giải pháp các thanh bên thứ ba đó là một bước lùi, nếu chúng ta có ActionBars trong Android được thực hiện (!?) – Peter

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