- Android
-
2012-05-17
Activity(画面)を簡単にダイアログにすることができます。
AndroidManifest.xmlのactivityタグに以下のように指定します。
android:theme="@android:style/Theme.Dialog"
![](https://k-sugi.sakura.ne.jp/wp-content/themes/chic_grid3/images/icon-tag.png)
1,871 views
Activity(画面)を簡単にダイアログにすることができます。
AndroidManifest.xmlのactivityタグに以下のように指定します。
android:theme="@android:style/Theme.Dialog"
例としてEditTextPreferenceの設定がされていればSummaryに表示するようにします。
リスナーをimplementsする場合
public class Setting extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref); PreferenceScreen ps = getPreferenceScreen(); EditTextPreference ep = (EditTextPreference)ps.findPreference("key"); if(ep.getText() != null && !ep.getText().equals("")) ep.setSummary(ep.getText()); } @Override protected void onResume() { super.onResume(); getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); } @Override protected void onPause() { super.onPause(); getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this); } public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if(key.equals("key")) { PreferenceScreen ps = getPreferenceScreen(); EditTextPreference ep = (EditTextPreference)ps.findPreference("key"); if(ep.getText() != null && !ep.getText().equals("")) { ep.setSummary(ep.getText()); } else { ep.setSummary("デフォルトのSummary"); } } } }
EditText editText = (EditText)findViewById(R.id.editText); //複数行の場合、最大行数を設定 editText.setMaxLines(1); //EditTextが未入力のときに表示させるヒントテキストを設定 editText.setHint("入力例");
入力モードを設定する
//数値入力 editText.setInputType(InputType.TYPE_CLASS_NUMBER); //URL入力 editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_URI); //パスワード入力 editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD); //メールアドレス editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); //複数行入力 editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_MULTI_LINE);
他にも設定値が多数あります。
参考:http://developer.android.com/intl/ja/reference/android/text/InputType.html
XMLで設定する場合
<EditText android:inputType="number" /> <EditText android:inputType="textUri" /> <EditText android:inputType="textPassword" /> <EditText android:inputType="textEmailAddress" /> <EditText android:inputType="textMultiLine" />
SharedPreferencesを使えば設定内容など、保存したいデータを簡単に保存できます。
設定画面を用意したい場合は設定を保存する [Preference]を参照してください。
今回は、アクティビティなしのデータ保存です。
データ用のクラスを作成し、保存・読み出しのメソッドを記述します。
データはキーと値をセットにし、shared_prefフォルダーにXML形式で保存されます。
ディレクトリについてはファイル入出力を参照してください。
続きを読む…»