- スタイルの作成: まず、valuesフォルダ内に新しいstyles.xmlファイルを作成します。ファイル内には、AppCompatのテーマを拡張するスタイルを定義します。以下は、例です。
<style name="CustomAlertDialog" parent="ThemeOverlay.AppCompat.Dialog.Alert">
<!-- カスタマイズしたいプロパティを追加 -->
</style>
- ダイアログの作成: 次に、カスタムのAlertDialogを作成します。以下は、例です。
AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.CustomAlertDialog);
builder.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// OKボタンが押されたときの処理
}
})
.setNegativeButton("キャンセル", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// キャンセルボタンが押されたときの処理
}
});
AlertDialog dialog = builder.create();
dialog.show();
- テーマの適用: カスタムテーマをアプリ全体に適用する場合は、AndroidManifest.xmlファイルのapplication要素内に以下の属性を追加します。
<application
...
android:theme="@style/CustomAppTheme"
...>
...
</application>
- リソースの再ビルド: 最後に、プロジェクトをビルドし、リソースを再ビルドします。これにより、カスタムテーマが正しく適用されます。
以上がThemeOverlay.AppCompat.Dialog.Alertをオーバーライドする方法の一例です。他にもさまざまなアプローチがありますが、この方法は一般的に使用されるものです。必要に応じて、カスタムテーマにさまざまなプロパティを追加して、外観や振る舞いをカスタマイズすることができます。