alertDialogにカスタムタイトルバーを含めるにはどうすればよいですか?Android sdkはsetCustomTitleメソッドを提供しますが、機能しません
編集:
AlertDialog alert = new AlertDialog.Builder(this).setTitle("Test").setMessage("hello").show();
View view=alert.getLayoutInflater().inflate(R.layout.titlebar, null);
alert.setCustomTitle(view);
しかし、上記のコードは機能していません
注意 : カスタムダイアログボックスを探していませんが、タイトルレイアウトをカスタムにしたいだけです。以下のように
最初の行で.showメソッドを使用しないでください。機能する次のコードを使用してください。
AlertDialog.Builder alert = new AlertDialog.Builder(this);
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.titlebar, null);
alert.setCustomTitle(view);
alert.setMessage("helo");
alert.show();
_ DisplayDialog d = new DisplayDialog(this);
d.show();
public class DisplayDialog extends Dialog implements Android.view.View.OnClickListener
{
public DisplayDialog(Context c)
{
super(c, R.style.Theme_Dialog_Translucent);
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setCanceledOnTouchOutside(false);
setContentView(R.layout.your_layout);
}
}
_
このスニペットを_strings.xml
_に追加します
_ <style name="Theme_Dialog_Translucent" parent="Android:Theme.Dialog">
<item name = "Android:windowBackground">@color/transparent</item>
</style>
<color name="transparent">#00000000</color>
_
dismiss();
を使用してダイアログを閉じます