ウィジェットのクリックでダイアログを開こうとしています。クリックで開始されたアクティビティのスキニングの問題をAndroid:theme="@Android:style/Theme.Dialog"
で解決しました。残念ながら、同じダイアログの外観に到達することはできません。
これが結果です:
代わりに、この結果に到達したいと思います(もちろん、ボタンを除く)。
(画面を押したままにして表示されるウィジェットダイアログ)
ご覧のとおり、リストアイテムの色、テキストの色、リストアイテムの区切り文字など、いくつかの違いがあります。標準のダイアログと同じ外観を得るための事前定義されたテーマ/スタイルはありますか?そうでない場合、その結果に到達するために従うべきステップは何ですか?
FoxyRingが提供するウィジェットには、私が望む動作があることを確認しました。
透明な背景レイアウトで「従来の」メインアクティビティを使用してみませんか
それから標準ダイアログを呼び出しますか?
...まあ、私があなたを正しく理解していれば、それは非常に簡単な方法でトリックを作るでしょうね?
次のようなダイアログを動的に作成できます。
_ Context mContext = this;
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.data_dialog);
dialog.setTitle("Your title");
AlertDialog.Builder builder;
AlertDialog alertDialog;
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.data_dialog,
(ViewGroup) findViewById(R.id.AbsoluteLayout01));
builder = new AlertDialog.Builder(mContext);
builder.setView(layout);
alertDialog = builder.create();
alertDialog.show();
final EditText txtUsername = (EditText) layout.findViewById(R.id.txtUsername);
final AlertDialog thisDialog = alertDialog;
Button btnSave = (Button) layout.findViewById(R.id.btnSave);
btnSave.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String strtxtUsername = txtUsername.getText().toString();
//do something...
}
});
_
ダイアログを閉じるには、thisDialog.dismiss();
を呼び出します
スタイルは通常のTheme.Light.NoTitleBarのように見え、アイコンとタイトルテキストのあるリストビューがあります。
お役に立てば幸いです。
実際、これを行うには、以下で提案するよりもはるかに簡単な方法があります。
以下をご覧ください: https://developer.Android.com/guide/topics/ui/dialogs.html 「リストの追加」という見出しの下。