2012-09-18 35 views
10

Ứng dụng android của tôi có điều hướng tab bằng thanh tác vụ. Nó hoạt động tốt, nhưng nó làm phiền tôi rằng trong lần khởi động đầu tiên của ứng dụng, một thanh tác vụ mặc định nhỏ xuất hiện một thời gian ngắn trước khi được thay thế bằng thanh tác vụ điều hướng tab thực. My onCreate bắt đầu như thế này:Android-ẩn thanh tác vụ trong khi khởi động và sau đó hiển thị lại nó?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 
    setContentView(R.layout.activity_main); 

    //Set up the actionbar 
    final ActionBar actionBar = getActionBar(); 
. 
. 
. 

Tôi phải làm gì để thanh tác vụ thực được khởi chạy mà không có mặc định nhỏ hiển thị trước khi khởi động?

Cảm ơn

+1

là một cái gì đó này, bạn đang tìm kiếm: [Làm thế nào để ẩn thanh hành động trước khi hoạt động được tạo và sau đó hiển thị lại?] (http://stackoverflow.com/questions/8500283/how-to-hide-action-bar-before-activity-is-created-and-then-show-it -again) –

Trả lời

5

Ẩn trong quá trình startup

getSupportActionBar().hide(); 

Sau khi bạn có thể hiển thị nó một lần nữa với ...

getSupportActionBar().show(); 

Nó nên là cùng với ActionBar mẹ đẻ của Android.

bạn nên sử dụng dòng này trong manifest và không sử dụng getActionBar()

<item name="android:windowActionBar">false</item> 

và khi nó đã được hoàn thành trong việc sử dụng Hoạt động chính bên dưới hoặc không có gì

<item name="android:windowActionBar">true</item> 
+0

Làm cách nào để thêm XML bạn đã chỉ định để ứng dụng khởi động với false Nhưng sau đó chuyển sang true Sau khi hoạt động chính bắt đầu? – LoneDuck

+0

bên trong tab hoạt động – MBMJ

+1

Tôi đã thử gán ứng dụng cho chính nó một chủ đề không có thanh tác vụ, nhưng gán hoạt động với chủ đề bằng một chủ đề (sử dụng android: windowActionBar). Nó vẫn khởi động với một thanh tác vụ mặc định, và chỉ sau đó khởi tạo chính nó như là thanh tác vụ điều hướng thực. – LoneDuck

1

nếu bạn đang sử dụng hành động thanh sherlock và bạn muốn chuyển đổi này từ một FragmentActivity, sau đó bạn gọi

getSherlockActivity().getSupportActionBar().hide(); 
4

đặt này cho độ nét biểu hiện hoạt động của bạn:

<activity 
      android:name=".MyActivity" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
      > 

sau đó bên trong onCreate của bạn làm điều này để hiển thị các chủ đề thực tế mà bạn muốn sử dụng:

setTheme(R.style.AppTheme); 
Các vấn đề liên quan