EditTextActivityDialog.java revision 980a938c1c9a6a5791a8240e5a1e6638ab28dc77
1package com.android.imftest.samples;
2
3import com.android.imftest.R;
4
5import android.app.Activity;
6import android.app.Dialog;
7import android.os.Bundle;
8import android.view.LayoutInflater;
9import android.view.View;
10import android.view.ViewGroup;
11import android.widget.Button;
12import android.widget.EditText;
13import android.widget.LinearLayout;
14import android.widget.ScrollView;
15
16public class EditTextActivityDialog extends Activity {
17
18    private static final int SCROLLABLE_DIALOG_ID = 0;
19    private static final int NONSCROLLABLE_DIALOG_ID = 1;
20
21    private LinearLayout mLayout;
22    private ScrollView mScrollView;
23    private LayoutInflater mInflater;
24    private Button mButton1;
25    private Button mButton2;
26
27
28    @Override
29    protected void onCreate(Bundle icicle) {
30        super.onCreate(icicle);
31
32        mLayout = new LinearLayout(this);
33        mLayout.setOrientation(LinearLayout.VERTICAL);
34        mLayout.setLayoutParams(new ViewGroup.LayoutParams(
35                ViewGroup.LayoutParams.MATCH_PARENT,
36                ViewGroup.LayoutParams.MATCH_PARENT));
37
38        mButton1 = new Button(this);
39        mButton1.setText(R.string.open_dialog_scrollable);
40        mButton1.setOnClickListener(new View.OnClickListener() {
41            public void onClick(View v) {
42                showDialog(SCROLLABLE_DIALOG_ID);
43            }
44        });
45
46        mButton2 = new Button(this);
47        mButton2.setText(R.string.open_dialog_nonscrollable);
48        mButton2.setOnClickListener(new View.OnClickListener() {
49            public void onClick(View v) {
50                showDialog(NONSCROLLABLE_DIALOG_ID);
51            }
52        });
53
54        mLayout.addView(mButton1);
55        mLayout.addView(mButton2);
56
57        setContentView(mLayout);
58    }
59
60    @Override
61    protected Dialog onCreateDialog(int id) {
62        switch (id) {
63            case SCROLLABLE_DIALOG_ID:
64                return createDialog(true);
65            case NONSCROLLABLE_DIALOG_ID:
66                return createDialog(false);
67        }
68
69        return super.onCreateDialog(id);
70    }
71
72    protected Dialog createDialog(boolean scrollable) {
73        View layout;
74        EditText editText;
75
76        if (scrollable) {
77            layout = new ScrollView(EditTextActivityDialog.this);
78            ((ScrollView) layout).setMinimumHeight(mLayout.getHeight());
79
80            ((ScrollView) layout).addView((
81                    LinearLayout) View.inflate(EditTextActivityDialog.this,
82                    R.layout.dialog_edit_text_no_scroll, null));
83        } else {
84            layout = View.inflate(EditTextActivityDialog.this,
85                    R.layout.dialog_edit_text_no_scroll, null);
86        }
87
88        Dialog d = new Dialog(EditTextActivityDialog.this);
89        d.setTitle(getString(R.string.test_dialog));
90        d.setCancelable(true);
91        d.setContentView(layout);
92        return d;
93    }
94
95}
96