1

注: これは私の最初の Android アプリであり、何をしているのかわかりません。何を探すべきかを説明せずにドキュメントに誘導することは、ドキュメントを既に読もうとして理解していないため、役に立ちません。

ActionBar でナビゲーション ドロップダウンを作成していますが、テキストは白ではなく黒です (ActionBar の残りのテキストと同様)。これは、ArrayAdapter で間違ったものを使用しているためだと思いますが、他の値はどれもうまく機能しません。以下は、ドロップダウンを作成するために使用しているコードです。

//NOTE: folders will be created at runtime from data fetched from a web service,
//these values are just test data to get the feature working
folders = new ArrayList<String>(Arrays.asList("All Folders", "comics"));
final ArrayAdapter<String> aa = new ArrayAdapter<String>(
    this,
    android.R.layout.simple_list_item_1,
    folders
);

final ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbacks(aa, new ActionBar.OnNavigationListener() {
    public boolean onNavigationItemSelected(int itemPosition, long itemId) {
        final Context c = getApplicationContext();
        Toast.makeText(c, folders.get(itemPosition), Toast.LENGTH_SHORT).show();
        return true;
    }
});

私が見ているものの例:

灰色の背景に黒のテキスト

テキストの色が間違っている理由と、できれば正しい色で作成する方法を理解したいです。色をカスタマイズしたくありません (私が見つけた多くの質問のように)、ActionBar の残りのものと同じスタイルで作成したいだけです。

これは styles.xml ファイルです:

<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>
4

4 に答える 4

3

Chasに追加します。Owens の返信 actionBar.getThemedContext() は、Jellybean 以降を使用している場合にうまく機能します。

他の場合は ArrayAdapter.createFromResource(getApplicationContext(), ...) も同様に機能します

于 2013-12-16T09:14:18.923 に答える
1

そのアクティビティ/アプリケーションのスタイルを選択する必要があります。このを参照して、ナビゲーション アイテムを白にします。

于 2013-09-06T03:19:51.943 に答える