Androidカスタムモードボックスの作成

2592 ワード

ここではandroidプラットフォームの下でモデリングボックスを作成する方法について議論します.
まず声明します:本文の中で言及したコードは私がたまに1篇の文章の中で見たので、しかし決して原版を剽窃するのではありません
コードは私のもので、思想は私自身の理解で、ただ私は他の人の誤解を防ぐことを宣言したいだけです!この文章は言わば
章は絶対にオリジナル!
モデリングボックスの作成には、次の2つの考え方があります.
第一:AlertDialogを利用して、androidの下でこのようなことをテストすることができて、弾いたヒントボックスは1つです
モダリティボックスですが、どのようにカスタマイズしますか?このステップで重要なのは、Viewによる動的な作成(または塗りつぶし)です.
Viewコンポーネント一つでいい!具体的な操作はコードを見る

View view = View.inflate(Context context, int resource,  ViewGroup root);

APIを参照してください.APIの解釈はcontextの下でrootというオブジェクトに作成されたviewを作成します.
上の!これからは
view.findViewById(int 

resource);
実装したいコンポーネントを作成するには、まずこのオブジェクトをsubViewと呼びます.
どのAlertDialogを使うか今回使いました.

setView(View view)  Set the view to display in that dialog.

subViewを作成したばかりなのに入れておけばいいのに..△あなたのsuvViewは永遠にViewのサブクラスだから..ほほほ
簡単じゃないの?これが1つ目の方法です2つ目の方法を見てみましょう
PopupWindowではPopupWindowを紹介する前にLayoutInflaterを見てみましょう(実はまあまあです
最初の方法でこのviewを得た)、彼はやはり最初の形式の方法に似てLayoutInflateを生成した.
そしてこのオブジェクトのinflateを通ります(このステップは最初の方法と似ています)
inflate(int resource, ViewGroup root, boolean attachToRoot)

これで私たちはこの方法でViewを手に入れて使用することができます.
view.findViewById(int resource);
私たちのコンポーネントを作成
ここまでの位置で、実際にviewを作成する過程で私は方法1のステップを完全に使用することができますが、ここでは別のステップを示しています.
viewを作成する考え方!次はpopupwindowですpopupwindowにはこのような構造方法があります

PopupWindow(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)//          。。                     

 PopupWindow (View contentView, int width, int height, boolean focusable)

パラメータcontentViewは言わないで、あなたは知っています(しかしここはあなたが弾き出すコンポーネントviewに変えます)、
widthは広いプロパティを設定します(例えば、viewをフルスクリーンにするにはLayoutParams.FILL_PARENTを使用しましょう).
heightは高属性を設定します(例えば、viewをフルスクリーンにするにはLayoutParams.FILL_PARENTを使用しましょう).
focusableが明らかになりました.のフォーカスを設定するかどうか(trueに設定することをお勧めします.そうすれば弾けます.
キーボードの傍受を設定するなど、より多くの操作を行います.
ただし、APIにはThe popup does not provide any backgroundが記載されています.This should be handled by the content view.  ..弾き出すビューでは背景が設定されておらず、背景があれば
カスタマイズしたviewの中と同じようにします(viewはbuttonです.textを使用できます.
listviewでいいです.のなど)、アニメーションの透明効果を設定する場合はpopupwindowを設定します
のsetBackgroundDrawableとsetAnimationStyleがあります.のこれにより、自分のポップアップボックスを追加できます.
いくつかのスタイルですよ.最後に弾き出す位置を定義します.のshowAtLocation..この方法.
具体的には言わない!ただあなたにみんなに少し考えを提供します!最後にpopupwindowをすべて設定した後に1を呼び出します
下update方法popupwindowに新しいものが入っていることを知らせて、更に表示します!