2012-01-22 10 views
9

アンドロイドでは、スピナーアダプタとOnNavigationListenerを渡すことで、アクションバーにナビゲーションリストを設定できます。 Gmailアプリの 例:アクションバーのナビゲーションリストを展開するには?

enter image description here

マイアプリ:

enter image description here

問題は、ナビゲーションリストは、アクションバーのほとんどは、どのようにそれはGmailアプリのように拡大させるために埋めるいけないということです私が直面している

//... setting the array adapter 
ActionBar actionBar = getActionBar(); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
NavigationListener navigationListener = new NavigationListener(); 
ListAdapter listAdapter = new ListAdapter(); 
actionBar.setListNavigationCallbacks(listAdapter, navigationListener); 
actionBar.setDisplayShowTitleEnabled(false); 

他の問題の大きさである:

そしてここでは、コードがありますスピナーアイテムは、実際に小さく表示されます。なぜなら、私はカスタマイズされたtextview(スクリーンショットを見てください)を渡していないからですか?私が何をするかの例:

private class ListAdapter extends BaseAdapter implements SpinnerAdapter { 

    public View getView(int pos, View view, ViewGroup viewGroup) { 
     TextView text = new TextView(context); 
     text.setText(arrayAdapter.getItem(pos).toString()); 
     return text; 
    } 

} 

答えて

11

getDropDownViewメソッドも実装します。これにより、ドロップダウンリストに必要なメトリックと書式を持つ別のビューを提供できます。

これらの状況でフレームワークレイアウトandroid.R.layout.simple_spinner_itemandroid.R.layout.simple_spinner_dropdown_itemを膨張させることを検討してください。それぞれTextViewを取得するにはfindViewById(android.R.id.text1)を使用してください。

+0

+1、getDropDownViewリンクのおかげで – orip

-1

ActionBar tab navigationを使用して、Gmailのナビゲーションがタブのナビゲーションのように見えるので、リストのナビゲーションではなくタブにアイコンを追加することができます。

関連する問題