9

Android では、スピナー アダプターと OnNavigationListener を渡すことで、アクション バーにナビゲーション リストを設定できます。問題は、ナビゲーションリストがアクションバーのほとんどを埋めていないことです.Gmailアプリのように展開する方法: 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);

私が直面している他の問題は、スピナーアイテムのサイズです。それらは非常に小さく表示されます。それは、カスタマイズされたテキストビューを渡さないためです(スクリーンショットを見てください)? 私がすることの例:

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;
    }

}
4

2 に答える 2

11

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

このような状況では、フレームワーク レイアウトを拡張することを検討android.R.layout.simple_spinner_itemしてください。android.R.layout.simple_spinner_dropdown_itemを使用findViewById(android.R.id.text1)TextViewて、それぞれに記入する必要があります。

于 2012-01-23T00:02:37.137 に答える
-1

gmail のナビゲーションはタブ ナビゲーションに似ているため、 ActionBarタブ ナビゲーションを使用して、リスト ナビゲーションではなくタブにアイコンを追加することができます。

于 2012-04-12T12:16:51.507 に答える