Action Bar Sherlock を使用しているときに、ActionBar のリスト ナビゲーションのテキストの色を変更する方法はありますか? タイトルの色の変更に関する投稿をいくつか見つけましたが、以前に尋ねられた場合は申し訳ありません。
通常のアクション バーでは問題なく動作しますが、ハニカム以前のデバイスでは、テキストが黒地に黒くなり、判読できなくなります。
Action Bar Sherlock を使用しているときに、ActionBar のリスト ナビゲーションのテキストの色を変更する方法はありますか? タイトルの色の変更に関する投稿をいくつか見つけましたが、以前に尋ねられた場合は申し訳ありません。
通常のアクション バーでは問題なく動作しますが、ハニカム以前のデバイスでは、テキストが黒地に黒くなり、判読できなくなります。
テキストの色を変更したいのは知っています。黒/黒のテキスト、または黒のテキストに濃い灰色のテキストが原因であると想定しています。
もしそうなら、暗いテキストで暗いテキストを区別するこの問題を抱えているハニカム以前のデバイスの修正を見つけました
SpinnerAdapter の使用を宣言する場合: R.layout.sherlock_spinner_item または R.layout.sherlock_spinner_dropdown_item
これは、ハニカム後デバイスと同じテーマと組み合わせて、ハニカム前デバイスを修正するのに役立ちました。
SpinnerAdapter adapter = ArrayAdapter.createFromResource(this, R.array.navigationArray, R.layout.sherlock_spinner_dropdown_item);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getSupportActionBar().setListNavigationCallbacks(adapter, this);
ソース: https://github.com/JakeWharton/ActionBarSherlock/issues/268
独自のサンプル custom_spinner_item を作成する必要があります
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
そして、ドロップダウン リソース custom_spinner_dropdown_item
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="?attr/dropdownListPreferredItemHeight"
android:ellipsize="marquee" />
所有するスタイルを変更するか、アクションバーのシャーロックを実行して変更する必要があります。次に、アダプターで次を使用します。
Context context = getSupportActionBar().getThemedContext();
ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(context, R.array.locations, custom_spinner_item);
list.setDropDownViewResource(R.layout.custom_spinner_dropdown_item);
これで完了です;)これはハニカム前に使用する必要があります:
Context context = getSupportActionBar().getThemedContext();
ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(context, R.array.locations, R.layout.sherlock_spinner_item);
list.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
//in arrays.xml
<string-array name="solidsFoodSelectionType">
<item>recent</item>
<item>all</item>
</string-array>
//in your class
Context context = getSupportActionBar().getThemedContext();
String[] typeOfselectionSelected = getResources().getStringArray(R.array.solidsFoodSelectionType);
typeOfselectionSelectedAdapter = new ArrayAdapter<String>(context,android.R.layout.simple_spinner_dropdown_item,typeOfselectionSelected);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getSupportActionBar().setListNavigationCallbacks(typeOfselectionSelectedAdapter, this);