私は this カスタムダイアログを作成するコードに従っていますが、ダイアログタイトルバーを削除する方法がわかりませんか?
_ AlertDialog alertDialog;
@Override
protected Dialog onCreateDialog(int id) {
AlertDialog dialogDetails = null;
switch (id) {
case DIALOG_LOGIN:
LayoutInflater inflater = LayoutInflater.from(this);
View dialogview = inflater.inflate(R.layout.dialog_layout, null);
AlertDialog.Builder dialogbuilder = new AlertDialog.Builder(this);
dialogbuilder.setTitle("Login");
dialogbuilder.setView(dialogview);
dialogDetails = dialogbuilder.create();
break;
}
return dialogDetails;
}
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
switch (id) {
case DIALOG_LOGIN:
alertDialog = (AlertDialog) dialog;
.......
}
_
警告ダイアログのタイトル領域を削除することは知っています。requestWindowFeature(Window.FEATURE_NO_TITLE);
を使用する必要があります
しかし、私が行の上に配置しなければならない場所がわかりませんか?
警告ダイアログのタイトルバーが必要ない場合は、コードから次の行を削除します。
dialogbuilder.setTitle("Login");
それでも動作しない場合は、以下の行を追加します。
dialogbuilder.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
の前にdialog.setContentView(R.layout.logindialog);
を使用すると、Dialog
のタイトルを非表示にできます。
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
を使用
最初にこの行を削除します:
dialogbuilder.setTitle("Login");
次に、これを追加します。
dialogbuilder.requestWindowFeature(Window.FEATURE_NO_TITLE);
削除するだけ
dialogbuilder.setTitle("Login");
これを試して::
AlertDialog.Builder builder;
AlertDialog alertDialog;
Context mContext = getApplicationContext();
LayoutInflater inflater = (LayoutInflater)
mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog,
(ViewGroup) findViewById(R.id.layout_root));
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello, this is a custom dialog!");
ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.Android);
builder = new AlertDialog.Builder(mContext);
builder.setView(layout);
alertDialog = builder.create();
AlertDialog Builderで_.requestWindowFeature
_が見つかりませんでした。
ビルダーでアラートダイアログを作成するときにタイトルを付けたくない場合は、new AlertDialog.Builder(getContext(), Android.R.style.Theme_Material_Light_Dialog_NoActionBar_MinWidth);
を使用します
最終的には、Motorola Droid Razr M(AOS 4.4)スマートフォンでは、これらのアプローチは機能せず、このような他のsmatphoneが市場に存在すると思います。以下から得られる唯一の効果:
setTitle(null);
setCustomTitle(null);
タイトルにはテキストはありませんが、そのビューはダイアログビューに残ります(上部の空のビューのように見えます)。だから私が見つけた唯一の方法は この答え に基づいています:
int titleId = getContext().getResources().getIdentifier( "alertTitle", "id", "Android" );
if (titleId > 0) {
View dialogTitle = findViewById(titleId);
if (dialogTitle != null) {
((View)dialogTitle.getParent().getParent()).setVisibility(View.GONE);
}
}