這是我第一個android應用程序,我已經做了3年的iPhone開發,這是一種思維方式的轉變,我仍然發現一些奇怪的東西。首先,我不知道這是否iPhone背景可能會造成一些麻煩,但這裏是我想要做的事:Double ActionBar出現?
我想要實現的動作條有兩個選項的工作就像從iOS版的TabBar:
我想要的是,當用戶選擇一個動作時,一些活動將呈現給用戶。
下面是我在做什麼,到目前爲止(這是不是太多):
- 我使用ActionBarSherlock,我有3個活動:對myApp第一和第二
MYAPP僅名爲.java創建動作條元素並加載activity_first
:
package com.example.myApp;
import com.actionbarsherlock.ActionBarSherlock;
import com.actionbarsherlock.view.MenuItem;
import android.os.Bundle;
import com.actionbarsherlock.ActionBarSherlock.OnCreateOptionsMenuListener;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
public class myApp extends SherlockActivity implements OnCreateOptionsMenuListener {
ActionBarSherlock mSherlock = ActionBarSherlock.wrap(this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("myApp");
mSherlock.setContentView(R.layout.activity_first);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("First")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add("Second")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
}
的活動有什麼到目前爲止,除了生成的存根:
import android.app.Activity;
import android.os.Bundle;
public class First extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
}
}
所以,我有1題和1個問題:
- 問題:這是正確的使用ActivityBar的?我的意思是,它是否應該用於切換活動?
- 問題:正如你可以對myApp類的onCreate方法看,我加載
activity_first
,它只加載的活動,但它加載的ActionBar兩次,像這樣:
我不明白它爲什麼被加載兩次。如果我刪除線:mSherlock.setContentView(R.layout.activity_first);
它加載一次吧,顯然我需要加載活動...
此外,我已將NoActionBar主題分配給XML(activity_first.xml)的圖形編輯器中的activity_first, ,但它不起作用。我能做些什麼來加載一次。
謝謝你寶貴時間。
謝謝,它的工作! – Emanuel