アプリが起動するとすぐにAsyncTask
、JSON が取得されます。ダウンロード中は、いつものように進行状況ダイアログを表示します。
protected void onPreExecute() {
Context c = ((EventoMainActivity)mCallback);
mDialog = new ProgressDialog(c, R.style.my_Dialog);
mDialog.setTitle("Descargando datos del evento ");
mDialog.setMessage("Espere un instante...");
mDialog.setIndeterminate(true);
mDialog.show();
}
ダイアログをカスタマイズしたいので、スタイルをコンストラクターに渡して色などを変更し、次の結果を達成します。
(一部のスタイルは Widget.Sherlock.Light.ProgressBar から継承されています)
ここまでは順調ですね。color text プロパティで赤に変更しましたが、それですべてです。問題は、タイトル テキスト、メッセージ テキスト、および青色の線にスタイルを与えたいことです。
私のアプローチは、Android ソース (それらのレイアウト xml ファイル) でこの要素の構造を探していました。progressDialog は alertDialog から来ていることがわかりました。そして、title パラメーターと message パラメーターを定義する構造を見つけました。
From alert_dialog.xml
...
<com.android.internal.widget.DialogTitle android:id="@+id/alertTitle"
style="?android:attr/textAppearanceLarge"
android:singleLine="true"
android:ellipsize="end"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
...
From progress_dialog.xml
...
<TextView android:id="@+id/message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
...
問題は、android.R.id
これらの ID への参照が含まれていないため、コードでこのビューにアクセスできず、findByID
希望するスタイルを適用できないことです。
カスタム レイアウトを行う方法は知っていますが、デフォルト コンポーネントのスタイルを設定する方法はあるのでしょうか。
ありがとう