3

私のアプリケーションは、黒いテーマを持つ私の電話で大丈夫な白いカラーフォントを使用しています。ただし、他の電話では、通知バーの色とメニューの背景色は白または明るい色です。(アプリの設定で色を選択するオプションをユーザーに提供する以外に)電話を使用している色またはダーク/ライトのテーマの種類を知り、フォントの色と一致させる方法はありますか?

4

2 に答える 2

4

通知を使用し、組み込みの手段を使用してテキストを設定すると、次の行でレイアウトが作成されます。

RemoteViews contentView = new RemoteViews(context.getPackageName(),
        com.android.internal.R.layout.status_bar_latest_event_content);

上記のレイアウトには、通知テキストの表示を担当する次のビューが含まれています。

<TextView android:id="@+id/text"
    android:textAppearance="@style/TextAppearance.StatusBar.EventContent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:paddingLeft="4dp"
    />

したがって、結論として、必要なスタイルはTextAppearance.StatusBar.EventContentであり、この定義は次のようになります。

<style name="TextAppearance.StatusBar.EventContent">
    <item name="android:textColor">#ff6b6b6b</item>
</style>

ここで、このスタイルは実際には組み込みの色を参照していないことに注意してください。したがって、最も安全な方法は、組み込みの色の代わりにこのスタイルを適用することです。

于 2011-11-02T16:30:40.563 に答える
0

私はandroid:textAppearance = "@ style/TextAppearance.AppCompat.Notification.Title"を使用しています

于 2016-11-22T13:52:35.377 に答える