1. ホーム
  2. android

[解決済み] AlertDialogのタイトルとその下の行の色を変更する方法

2022-10-08 23:29:57

質問

AlertDialogのタイトルの色を変更するには、次のコマンドを使用します。

alert.setTitle( Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>"));

しかし、タイトルの下に表示される線の色を変えたいのですが、どうすればよいのでしょうか?

注:カスタムレイアウトは使用しません。

どのように解決するのですか?

残念ながら、これは特に簡単な作業ではありません。 ここでの私の回答では の色を調整する方法について詳しく説明しています。 ListSeparator の色を調整する方法については、Android で使用されている親スタイルをチェックアウトして新しい画像を作成し、元のスタイルに基づいて新しいスタイルを作成することだけを記載しています。残念ながら ListSeparator のスタイルでは AlertDialog のテーマは内部的なものであるため、親スタイルとして参照することはできません。この小さな青い線を変更する簡単な方法はありません! したがって、カスタムダイアログを作成することに頼る必要があります。

それが苦手な方は はあきらめないでください。 私はこれを行う簡単な方法がないことに非常に心を痛めていたので、カスタマイズされたホロスタイルのダイアログを素早く作るための小さなプロジェクトをgithubに立ち上げました(携帯電話がホロスタイルをサポートしていると仮定しています)。 プロジェクトはここで見つけることができます。 https://github.com/danoz73/QustomDialog

退屈な青からエキサイティングなオレンジに簡単に変更できるはずです。

プロジェクトは基本的にカスタム ダイアログ ビルダーを使用する例で、その例では、元の質問であげた IP アドレスの例に対応するようなカスタム ビューを作成しました。

とは QustomDialog で、基本的なダイアログ(タイトル、メッセージ)を作り、タイトルや仕切りに好きな色をつけるには、次のようなコードを使用します。

private String HALLOWEEN_ORANGE = "#FF7F27";

QustomDialogBuilder qustomDialogBuilder = new QustomDialogBuilder(v.getContext()).
    setTitle("Set IP Address").
    setTitleColor(HALLOWEEN_ORANGE).
    setDividerColor(HALLOWEEN_ORANGE).
    setMessage("You are now entering the 10th dimension.");

qustomDialogBuilder.show();

そして、カスタムレイアウトを追加するために(例えば、小さなIPアドレスの EditText を追加します)、そして

setCustomView(R.layout.example_ip_address_layout, v.getContext())

を、自分で設計したレイアウトでビルダーに送信します(IPのサンプルはgithubにあります)。お役に立てれば幸いです。 Joseph Earlと彼の回答(こちら)に感謝します。 .