私は新しいユーザの既存レイアウトにいくつかのチュートリアルテキストボックスを配置したいと思います。ボックスをポップアップして、何かを指し示して、他のすべてを暗くします。ダイアログの効果と同じレイアウトで既存のレイアウトを上に置く方法
誰かがフレームレイアウトを使用して、フルレイアウトの半透明の線形レイアウトを基本レイアウトに配置することを提案しましたが、
私は新しいユーザの既存レイアウトにいくつかのチュートリアルテキストボックスを配置したいと思います。ボックスをポップアップして、何かを指し示して、他のすべてを暗くします。ダイアログの効果と同じレイアウトで既存のレイアウトを上に置く方法
誰かがフレームレイアウトを使用して、フルレイアウトの半透明の線形レイアウトを基本レイアウトに配置することを提案しましたが、
好奇心だ、誰のために、私は画面ため非ダイアログを使用していました
フレームレイアウトに最初のレイアウトを配置した後、半透明の背景イメージを使用した別のレイアウトを(単純にframelayoutの下に別のレイアウトを追加して)配置してから追加しました私の他のレイアウト..その後、コード(initalレイアウトが作成された後)で、私は望んでいたビューでさまざまなメソッドを使用しましたオーバーレイ(getLocationOnScreen()とgetLayoutParams()で幅と高さを設定します)
あなたのApiDemosフォルダには、ポップアップダイアログのようなアクティビティを作成する素晴らしい例があります。
ここにはsource codeと対応するXML layout fileがあります。
ダイアログを使用してsetContentView
に電話をかけてみませんか?
Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialogView);
// initialize the components
ダイアログなしでは何ができないのですか?
なぜこれにはDialog
を使用しないのですか?
の無効化(または単に追加しない)ボタン、そしてAlertDialog.Builder.setView(View yourView)
を使用して、ダイアログにカスタムビューを追加します。
private static final int YOUR_POPUP_ID = 0;
@Override
protected Dialog onCreateDialog(int id) {
if (id == YOUR_POPUP_ID) {
// yourView is what you actually want to show in popup
return new AlertDialog.Builder(this)
.setTitle("a title")
.setView(yourView)
.create();
}
}
..
// some where in your code show the popup
showDialog(YOUR_POPUP_ID);
それは私が最初に試したものですが、問題は私のレイアウトが湾曲していて、何があってもダイアログの周りに黒い境界があったということでした。 –
これは私が最初に試したものですが、レイアウトには曲線があり、ダイアログの周りに黒い境界線がありました。 。 –