0

「MyDialog extends Dialog」にスクロールを追加する方法を教えてください。

コンポーネント(EditTextなど)を持つMyDialogがあり、フィールドに何かを入力したい場合、キーボードを離れ、一部のコンテンツが範囲外に失われます。たとえば、別のフィールドに何かを入力してキーボードを非表示にするには、別の入力フィールドを選択します。すべてが収まらない場合でも、火の内容をスクロールするためにキーボードを非表示にする必要がないことが望ましいでしょう。

ありがとうございました。

4

3 に答える 3

1

私は最近このようなことをしなければなりませんでした。うまくいけば、これがあなたを助けるかもしれません:

    // Create a ScrollView so the dialog can scroll
    ScrollView scrollView = new ScrollView(getActivity());
    scrollView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
            LayoutParams.WRAP_CONTENT));

    // Create layout for the controls in the dialog
    LinearLayout lay = new LinearLayout(getActivity());
    lay.setOrientation(LinearLayout.VERTICAL);
    lay.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

    // Create a TextView to add to the dialog
    TextView productNameLabel = new TextView(getActivity());
    productNameLabel.setText("Some text");
    productNameLabel.setGravity(Gravity.CENTER);
    productNameLabel.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT, 1f));

    // Add the views to the layout
    lay.addView(productNameLabel);

    // Add the layout to the scrollview
    scrollView.addView(lay);

    // Create the dialog
    final AlertDialog.Builder b = new AlertDialog.Builder(getActivity())
            .setTitle("Dialog Title")
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // Do something when OK is clicked
                }

            }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // Do something when Cancel is clicked
                }

            });

    // Tell the dialog to use the ScrollView
    b.setView(scrollView);

    // Show the dialog
    b.create().show();

それはおそらく最善の方法ではありませんが、私はAndroidが初めてで、私が行ったことはうまくいきます:)

于 2013-05-16T15:13:33.893 に答える
0

必要なスクロールバーを持つレイアウトを構築し、カスタムダイアログを構築するダイアログに追加できます。

于 2013-05-16T14:36:11.107 に答える
0

ダイアログとそのコンテンツの間に ScrollView を追加するだけです。次のフィールドのサポートをキーボードに追加する場合は、これで十分です。また、手動でビューをスクロールできます。

于 2013-05-16T14:27:12.743 に答える