質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

1866閲覧

preference画面の各title、summaryの文字色変更について

jun74

総合スコア338

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2019/07/30 12:05

前提・実現したいこと

preferenceの各title、summaryの文字色変更を行いたい。
ただし、PreferenceCategoryの文字色は変更したくない。
理由は、Android8だとPreferenceCategoryはボタンやスイッチと同じ色になり、
それ以外は白となっているが、Android4で実行するとどちらも黒になってしまう。

発生している問題・エラーメッセージ

以下のjavaで一つずつ変更することはできるようだが、xmlで変更したい。

該当のソースコード

java

1 CheckBoxPreference preference = (CheckBoxPreference) findPreference("key1"); 2 3 SpannableString summary = new SpannableString("Summary1"); 4 summary.setSpan(new ForegroundColorSpan(Color.RED), 0, summary.length(), 0); 5 preference.setSummary(summary);

試したこと

設定画面用のテーマを作成して、textcolorを変更するのは行ったが、全て同一色になるため、
各PreferenceCategoryのみ上記のjavaで色を変更する必要性が発生する。

補足情報(FW/ツールのバージョンなど)

Android Studio3.4
Android対象API14から28

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

すみません。勘違いをしていました。
実機で確認出来る範囲だとAndroid5.1.1、Android8は
設定画面用のテーマを作成してtextcolorを変更で、それぞれのカテゴリーのtitleで、colorAccentでPreferenceCategory、summaryはtextColorSecondaryでした。
従ってテーマのxmlのみで対応できました。
なお、Android4.4.4になると
設定画面用のテーマを作成してtextcolorを変更で、それぞれのカテゴリーのtitleで、textColorSecondaryでPreferenceCategory、summaryの2つとなり、バージョンによって若干違うことが分かりました。
今回の件を実現するにはPreferenceCategory、summaryのどちらかは上記のjavaでの個別対応が必要となります。
ただし、Android4にそこまで強いこだわりはないので、PreferenceCategory、summaryが同じ色でも問題ないものとしようと考えます。

投稿2019/07/31 15:05

編集2019/07/31 15:33
jun74

総合スコア338

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問