0

次のようにコンテキストメニューを作成したいのですが、これは従来のコンテキストメニューではなく、カスタマイズされている一種のアラートダイアログであると確信しています。

私は次のコードを試しましたが、it adds the footer end of the ListView not to the dialog / context menu参照スレッドはフッタービューのContextMenuです(「デフォルトにする」オプションのチェックボックスを追加するため)

dialog2.getListView().addFooterView(new CheckBox(this))

カスタムコンテキストメニューを備えた次のチュートリアルを実行しましたが、このコードを使用してフッターを設定することは可能ですか

http://www.tanisoft.net/search/label/Tutorial

次の機能が必要です。フッターのチェックボックスが貴重です

ここに画像の説明を入力

編集

この部分にたどり着きましたが、問題は2つだけです

1) ダイアログ タイトル アイコン
2) ダイアログ ボトム ブルー カラー (これは android のデフォルトの色です)

上記の2つのタスクを達成する方法がわかりません

ダイアログを作成するコードは次のとおりです

contactDlg = new Dialog(this);
contactDlg.requestWindowFeature( Window.FEATURE_LEFT_ICON );    

contactDlg.setTitle(contactStore.getContactName());

contactDlg.setContentView(R.layout.contact_dialog);
contactDlg.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.bottom_bar);         
contactAdapter = new ContactAdapter(this,contactStore.getContactNumber());          

modeList = (ListView) contactDlg.findViewById(R.id.contactDlgList);
modeList.setBackgroundResource(android.R.color.white);
modeList.setCacheColorHint(Color.WHITE);            
modeList.setAdapter(contactAdapter); 

contactDlg.show();

ここに画像の説明を入力

4

1 に答える 1

0

このために特別なことをする必要はありません。
これは、この写真に示されているリストと、必要な色とスタイルを備えたダイアログ自体のフッター ビューを含む独自のレイアウトを作成することで簡単に実現できます。
次に、「windowFrame」という名前のダイアログのプロパティをnullにする
< item name="android:windowFrame">@null< / item>
だけです。また、「values」フォルダーに別の「theme.xml」を作成し、そのファイルでこれと同様のプロパティを定義することもできます。
コードでは、ダイアログ オブジェクトをインスタンス化するときに、このテーマをそれに設定します。

これを行う基本的な目的は、作成したダイアログで何を表示し、何を表示しないかを完全に制御することです。

于 2012-02-22T06:30:34.077 に答える