#EditTextPreference
Explore tagged Tumblr posts
jacob-cs · 5 years ago
Text
android SharedPreferences , Preferences, settings
original source : https://youtu.be/M15PEeHXM64 
33분량
select list형태의 경우 아래와 같이 array를 만들어 사용한다.
Tumblr media
.
.
preference activity 나 preference fragment에 사용할 화면 구성하기 
Tumblr media Tumblr media Tumblr media
.
.
preference activity 나 preference fragment의 형태 이경우에는 preference activity 안에 preference fragment를 포함 하는 형태로 만들었는데 반드시 포함해야 하는 것은 아니다.
Tumblr media
.
.
저장된 Preferences를 통해 저장된 SharedPreferences값을 불러오는 방법과 일반 SharedPreferences사용방법
Tumblr media
.
.
SharedPreferences와 Preferences 차이
https://stackoverflow.com/a/23223316/3151712
.
.
.
.
https://youtu.be/M15PEeHXM64
30분 분량
.
.
.
.
https://youtu.be/SfeRakSWWbk
16분분량
.
.
.
.
SharedPreferences Preferences setOnPreferenceChangeListener onPreferenceChange alert alertdialog
https://stackoverflow.com/a/21857176/3151712
https://stackoverflow.com/a/11531922/3151712
dialogpreference
https://developer.android.com/reference/android/preference/DialogPreference?hl=en
extend 
https://stackoverflow.com/a/40058062/3151712
.
.
.
.
Preference EditTextPreference 속성 attributes 바꾸기
https://stackoverflow.com/a/55461028/3151712
0 notes
night-finance-site-blog · 8 years ago
Text
ポップアップウインドウ PopupWindow(this); mPopup.setWindowLayoutMode( ViewGroup.LayoutParams.WRAP_CONTENTE, ViewGroup.LayoutParams.WRAP_CONTENTE); mPopup.setContetnView(popupView); mPopup.showAsDropDown(btnPopup); mPopup.sidmiss();
リストポップアップウインドウ ListPopupwindow(this); ... mListPopup.setAdapter(adapter); ... mListPopup.setAnchorView(btnPopup); mListPopup.show();
ドラック&ドロップ iv_drop.setOnDragListener(new View.OnDraglistener() { public boolean onDrag(View v, DragEvent event) { ... ClipData clipData.getItemAt(i); Toast.maketext(getApplicationContenxt(0, ... switch (event.getAction()) { ... v.startDrag(clipData, new DragShadowBuilder(v), null 0);
src/DragView.java ... onDragEvent(DragEvent event) { ...
src/DropView.jaba ... public boolean onDragEvent(DragEvent event) { switch(event.getAction()) { case DragEvent.ACTION_DROP; ...
カレンダー表示 <CalendarView ... />
カレンダー日付変更イベント src/MainActivity.java... calView.setOnDateChangelistener(new OnDateChangeListener() { ... public void onSelecteDayChange(CalendarView view, int year, int month, int dayOfMonth) { ...
リストビュークリックイベント listView.setOnItemClickListener(new AdapterView.OnClickLidtener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
リストビュー表示位置 lv.setSelection(lv.getCount() - 1);
リストビュー先頭末尾 lv.addFotterView(mIvFooter); lv.removeFooterView(mIvFooter); return ture;
オーバースクロール setOverScrollMode(OVER_SCROLL_ALWAYS); @Override protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int ScrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
折り畳み可能リストビュー expandableView.setAdapter(adapter);
開閉リストビュークリックイベント expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @SuppressWarnings("unchecked") @Overridepublic boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
グリッドビュー gridView.setAdapter(adapter);
セルがクリック画像 gridView.setSelector(android.R.drawable.alert_light_frame);
セルクリックイベント gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
クロノメター <Chronometer ... />
クロノメター盛業 chronoMeter.setBase(SystemClock.elapsedRealtime()); chronoMeter.start(); chronoMeter.stop();
シークバー <SekBar ... />
シークバー最大値初期値 max Progress
シークバーイベント処理 @Overridepublic void onStartTrackingTouch(SeekBar seekBar) { setProgressBar IndeterminateVisibility(true); } @Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) { TExtView tvprogress = (TextView) findViewById(R.id.tvProgress); tvProgress.setText(Progress + "%..."); } @Overridepublic void onStopTrackingTouch(SeekBar seekBar) { setProgressBar IndeterminateVisiblity(false); } });
スピナー <Spinner ... />
スピナー表示項目 adapter.stDropDownviewResource(android.R.layout.simple_spinner_dropdown_item); spinnerAge.setAdapter(adapter); spinnerAge.setAdapter(adapter); spinnerAge.setPrompt("年齢の選択"); spinnerAge.setSelection(3);
スピナーのドロップダウンリスト spinnerAge.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Overridepublic void onItemSelected(Adapteriew<?> parent, View view, int position, long id) ... public void onNorthSelected(AdapterView<?> parent) {
スクロールビュー追加 <ScrollView ... </ScrollView>
スクロールバー表示位置 sv.setVerticalvarPosition(ScrollView.SCROLLBAR_POSITION_LEFT);
日付ピッカー <DatePicker ... />
日付ピッカーイベント処理 datePicker.init(2013, 6, 1, mLidtener); ... public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayMonth) {
時刻ピッカー <TimePicker ... />
時刻ピッカーイベント処理 public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
数値ピッカー <NumberPicker ... />
数値ピッカー最大値最小値 numberPicker.setMaxValue(50); numberPicker.setMinValue(10);
数値ピッカーイベント処理 numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangedListener() { @Overridepublic void onValueChange(NumberPicker picker, int oldVal, int newVal) {
アラートダイヤログ setMessage("アラートダイヤログ。\nAndroid SDKポケリ") setPositiveButton("OK", new DialogIntegerface.OnClickListener() { ... .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { ... public void onClick(DialogInterface dialog, int which) { ... .setNeutralButton("Neutral", new DialogInterface.OnClickListener() { ... return builder.create(); ... newFragment.show(getSupportFragmentManager(), "showAlertDialog"); }
日付ピッカーダイヤログ return new DatePickerDialog( getActivity(), DatePickerDialog,THEME_HOLD_DARK, this, 2013, 6, 1); } @Overridepublic void onDateSet(DatePicker view, int year, int monthYear, int dayOfMonth) { ...
時刻ピッカーダイヤログ return new TimePickerDialog( getActivity(), TimeActivity(), TimePickerDialog,THEME_HOLD_DARK, this, 12, 34, true); } ... public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
プログレスダイヤログ ProgressDialog dialog = new ProgressDialog(getActivity()); dialog.setTitle("処理中..."); dialog.setMessage("少々お待ちください...'); dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
Notification表示 builder.setWhen(System.currentTimeMills()); ... notificationManager.notify(NOTIFY_SAMPLE, builder.build());
ステータスバー通知 icon level tickerText views
通知領域通知 autoCancel intent title text info icon
通知プロパティ defaults sound streamType argb onMs offMs pattern
消せない通知 notification.flags += Notification.FLAG_ONGOING_EVENT;
通知大きい画像 new NotificationCompat.BigPictureStyle(builder);
通知大きいテキスト bigTextNotification.bigText("文字が大きいです。"); bigTextNotification.setSummaryText("スタイルがBigTextStyle");
通知複数行 inboxStyleNotification.addLine("1"); inboxStyleNotification.addLine("2"); inboxStyleNotification.addLine("3"); inboxStyleNotification.setSummaryText("BigTextStyle");
通知UIカスタマイズ RemoteViews remoteView = new RemoteView(getPackageName(), R.layout.notification_layout); remoteView.setImageViewResource(R.id.ivIcon, R.drawable.ic_lancher); remoteView.setText(R.id.tvMessage, "..."); builder.setContent(remoteView);
通知ボタン追加 builder.addAction(android.R.drawable.stra_off, "Google", contentIntent1); ... builder.addAction(android.R.drawable.star_off, "...", contentIntent2); ... builder.addAction(android.R.drawable.star_off, "buildebox.net", contentIntent3);
スイッチ表示 <Switch ... />
スイッチイベント処理 ... sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { ... public void onChackedChanged(CompoundButton buttonView, boolean isChecked) { ...
メニューレイアウト res/menu/main.xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item .../> <item .../> <item .../> <groupPosition...> <item .../> <item .../> </group> </menu>
src/MainActivity.java... public boolean onCreateOptionMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); MenuItem item = menu.add(Menu.NONE, MENU_SAMPLE, 600, "..."); ...
メニュー選択 ... public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { ...
ポップアップメニュ ... popupMenu.getMenuInflateer().inflate(R.menu.popup_main, popupMenu.getMenu());
ポップアップメニュ処理 popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { ... public boolean onMenuItemClick(MenuItem item) { ...
コンテキストメニュ ... registerForContextMenu(lvFruits); ... public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { ...
コンテキストメニュ選択 onContextItemSelected(MenuItem item)
HOMEウィジット設定 <appwidget-provider ... </appwidget-provider>
<appwidget-provider... </appwidget-provider>
マニフェストHOMEウィジット <reciver ... <intent-filter> ... </intent-filter> <meta-data ... </reciver>
HOMEウィジット通知 ... onEnabled(Context context) { ... public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { ... public void onDeleted(Context context, int[] aqppWidgetIds) { ... public void onDisabled(Context contxt) { ... public void onReceive(Context context, Intent intent) { ...
HOMEウィジット更新 widgetManager.updateAppWidget(widget, removeViews);
HOME画面作成 ... <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" />
プリファレンス画面作成 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> ... </PreferenceScreen>
src/SettingPrefActivity.javapublic class SettingPrefActivity extends PreferenceActivity { ... addPreferencesFromResource(R.xml.setting_pref);
src/SettingPrefFragment.java public class SettingPrefFragment extends PreferenceFragment { ...
プレファレンス画面レイアウトカテゴリ <PreferenceCategory ... </PreferenceCategory> <PreferenceCategory ... </PreferenceActivity>
プリファレンスチェックボックス ... <CheckBoxPreference .../>
プリファレンスエディットテキスト <EditTextPreference .../>
プリファレンスリスト <ListPreference .../>
プリファレンス複数選択リスト <MultiSelectListPreference ... />
プリファレンススイッチ <SwitchPreference .../>
着信音通知音アラーム音 <RingtonePreference ... />
クリックイベント btn_click.setOnClickListener(new View.OnClidkListener() { ...
長押しイベント btn_longClick.setOnLongClickListener(new View.OnLongClickListener() { public boolean onLongClick(View v) { ...
タッチイベント ... public boolean onTouchEvent(MotionEvent event) { ...
ViewPager画面切り替え <android.support.v4.view.pagerTabStrip ... />
src/MainActivity.java mViewPager.setAdapter(mPagerAdapter); ... public Fragment getItem(int position) { ... public int getCount() { ... getPageTitle(int position) ...
アプリーションアイコンナビゲーションドロワー res/layout/activity_main.xml res/layout/activity_main.xml... mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) { ... public void onDrawerOpened(View drawerView) { ... public void onDrawerSlide(View drawView, float slideOffset) { ... public void onDrawerStateChange(int newState) { ... mDrawerLayout.setDrawerListener(mDrawerToggle); ... mDrawerToggle.syncstate(); ... public void onConfligurationChanged(Configration newConfig) { ... mDrawerLayout.openDrawer(Gravity.LEFT); ...
0 notes
seonhooh · 9 years ago
Text
Android TextView의 inputType
공식문서를 참고하자.
이 설정은 Preference의 EditTextPreference에도 마찬가지로 적용된다.
0 notes
night-finance-site-blog · 8 years ago
Text
ポップアップウインドウ PopupWindow(this); mPopup.setWindowLayoutMode( ViewGroup.LayoutParams.WRAP_CONTENTE, ViewGroup.LayoutParams.WRAP_CONTENTE); mPopup.setContetnView(popupView); mPopup.showAsDropDown(btnPopup); mPopup.sidmiss();
リストポップアップウインドウ ListPopupwindow(this); ... mListPopup.setAdapter(adapter); ... mListPopup.setAnchorView(btnPopup); mListPopup.show();
ドラック&ドロップ iv_drop.setOnDragListener(new View.OnDraglistener() { public boolean onDrag(View v, DragEvent event) { ... ClipData clipData.getItemAt(i); Toast.maketext(getApplicationContenxt(0, ... switch (event.getAction()) { ... v.startDrag(clipData, new DragShadowBuilder(v), null 0);
src/DragView.java ... onDragEvent(DragEvent event) { ...
src/DropView.jaba ... public boolean onDragEvent(DragEvent event) { switch(event.getAction()) { case DragEvent.ACTION_DROP; ...
カレンダー表示 <CalendarView ... />
カレンダー日付変更イベント src/MainActivity.java... calView.setOnDateChangelistener(new OnDateChangeListener() { ... public void onSelecteDayChange(CalendarView view, int year, int month, int dayOfMonth) { ...
リストビュークリックイベント listView.setOnItemClickListener(new AdapterView.OnClickLidtener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
リストビュー表示位置 lv.setSelection(lv.getCount() - 1);
リストビュー先頭末尾 lv.addFotterView(mIvFooter); lv.removeFooterView(mIvFooter); return ture;
オーバースクロール setOverScrollMode(OVER_SCROLL_ALWAYS); @Override protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int ScrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
折り畳み可能リストビュー expandableView.setAdapter(adapter);
開閉リストビュークリックイベント expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @SuppressWarnings("unchecked") @Overridepublic boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
グリッドビュー gridView.setAdapter(adapter);
セルがクリック画像 gridView.setSelector(android.R.drawable.alert_light_frame);
セルクリックイベント gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
クロノメター <Chronometer ... />
クロノメター盛業 chronoMeter.setBase(SystemClock.elapsedRealtime()); chronoMeter.start(); chronoMeter.stop();
シークバー <SekBar ... />
シークバー最大値初期値 max Progress
シークバーイベント処理 @Overridepublic void onStartTrackingTouch(SeekBar seekBar) { setProgressBar IndeterminateVisibility(true); } @Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) { TExtView tvprogress = (TextView) findViewById(R.id.tvProgress); tvProgress.setText(Progress + "%..."); } @Overridepublic void onStopTrackingTouch(SeekBar seekBar) { setProgressBar IndeterminateVisiblity(false); } });
スピナー <Spinner ... />
スピナー表示項目 adapter.stDropDownviewResource(android.R.layout.simple_spinner_dropdown_item); spinnerAge.setAdapter(adapter); spinnerAge.setAdapter(adapter); spinnerAge.setPrompt("年齢の選択"); spinnerAge.setSelection(3);
スピナーのドロップダウンリスト spinnerAge.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Overridepublic void onItemSelected(Adapteriew<?> parent, View view, int position, long id) ... public void onNorthSelected(AdapterView<?> parent) {
スクロールビュー追加 <ScrollView ... </ScrollView>
スクロールバー表示位置 sv.setVerticalvarPosition(ScrollView.SCROLLBAR_POSITION_LEFT);
日付ピッカー <DatePicker ... />
日付ピッカーイベント処理 datePicker.init(2013, 6, 1, mLidtener); ... public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayMonth) {
時刻ピッカー <TimePicker ... />
時刻ピッカーイベント処理 public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
数値ピッカー <NumberPicker ... />
数値ピッカー最大値最小値 numberPicker.setMaxValue(50); numberPicker.setMinValue(10);
数値ピッカーイベント処理 numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangedListener() { @Overridepublic void onValueChange(NumberPicker picker, int oldVal, int newVal) {
アラートダイヤログ setMessage("アラートダイヤログ。\nAndroid SDKポケリ") setPositiveButton("OK", new DialogIntegerface.OnClickListener() { ... .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { ... public void onClick(DialogInterface dialog, int which) { ... .setNeutralButton("Neutral", new DialogInterface.OnClickListener() { ... return builder.create(); ... newFragment.show(getSupportFragmentManager(), "showAlertDialog"); }
日付ピッカーダイヤログ return new DatePickerDialog( getActivity(), DatePickerDialog,THEME_HOLD_DARK, this, 2013, 6, 1); } @Overridepublic void onDateSet(DatePicker view, int year, int monthYear, int dayOfMonth) { ...
時刻ピッカーダイヤログ return new TimePickerDialog( getActivity(), TimeActivity(), TimePickerDialog,THEME_HOLD_DARK, this, 12, 34, true); } ... public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
プログレスダイヤログ ProgressDialog dialog = new ProgressDialog(getActivity()); dialog.setTitle("処理中..."); dialog.setMessage("少々お待ちください...'); dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
Notification表示 builder.setWhen(System.currentTimeMills()); ... notificationManager.notify(NOTIFY_SAMPLE, builder.build());
ステータスバー通知 icon level tickerText views
通知領域通知 autoCancel intent title text info icon
通知プロパティ defaults sound streamType argb onMs offMs pattern
消せない通知 notification.flags += Notification.FLAG_ONGOING_EVENT;
通知大きい画像 new NotificationCompat.BigPictureStyle(builder);
通知大きいテキスト bigTextNotification.bigText("文字が大きいです。"); bigTextNotification.setSummaryText("スタイルがBigTextStyle");
通知複数行 inboxStyleNotification.addLine("1"); inboxStyleNotification.addLine("2"); inboxStyleNotification.addLine("3"); inboxStyleNotification.setSummaryText("BigTextStyle");
通知UIカスタマイズ RemoteViews remoteView = new RemoteView(getPackageName(), R.layout.notification_layout); remoteView.setImageViewResource(R.id.ivIcon, R.drawable.ic_lancher); remoteView.setText(R.id.tvMessage, "..."); builder.setContent(remoteView);
通知ボタン追加 builder.addAction(android.R.drawable.stra_off, "Google", contentIntent1); ... builder.addAction(android.R.drawable.star_off, "...", contentIntent2); ... builder.addAction(android.R.drawable.star_off, "buildebox.net", contentIntent3);
スイッチ表示 <Switch ... />
スイッチイベント処理 ... sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { ... public void onChackedChanged(CompoundButton buttonView, boolean isChecked) { ...
メニューレイアウト res/menu/main.xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item .../> <item .../> <item .../> <groupPosition...> <item .../> <item .../> </group> </menu>
src/MainActivity.java... public boolean onCreateOptionMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); MenuItem item = menu.add(Menu.NONE, MENU_SAMPLE, 600, "..."); ...
メニュー選択 ... public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { ...
ポップアップメニュ ... popupMenu.getMenuInflateer().inflate(R.menu.popup_main, popupMenu.getMenu());
ポップアップメニュ処理 popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { ... public boolean onMenuItemClick(MenuItem item) { ...
コンテキストメニュ ... registerForContextMenu(lvFruits); ... public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { ...
コンテキストメニュ選択 onContextItemSelected(MenuItem item)
HOMEウィジット設定 <appwidget-provider ... </appwidget-provider>
<appwidget-provider... </appwidget-provider>
マニフェストHOMEウィジット <reciver ... <intent-filter> ... </intent-filter> <meta-data ... </reciver>
HOMEウィジット通知 ... onEnabled(Context context) { ... public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { ... public void onDeleted(Context context, int[] aqppWidgetIds) { ... public void onDisabled(Context contxt) { ... public void onReceive(Context context, Intent intent) { ...
HOMEウィジット更新 widgetManager.updateAppWidget(widget, removeViews);
HOME画面作成 ... <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" />
プリファレンス画面作成 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> ... </PreferenceScreen>
src/SettingPrefActivity.javapublic class SettingPrefActivity extends PreferenceActivity { ... addPreferencesFromResource(R.xml.setting_pref);
src/SettingPrefFragment.java public class SettingPrefFragment extends PreferenceFragment { ...
プレファレンス画面レイアウトカテゴリ <PreferenceCategory ... </PreferenceCategory> <PreferenceCategory ... </PreferenceActivity>
プリファレンスチェックボックス ... <CheckBoxPreference .../>
プリファレンスエディットテキスト <EditTextPreference .../>
プリファレンスリスト <ListPreference .../>
プリファレンス複数選択リスト <MultiSelectListPreference ... />
プリファレンススイッチ <SwitchPreference .../>
着信音通知音アラーム音 <RingtonePreference ... />
クリックイベント btn_click.setOnClickListener(new View.OnClidkListener() { ...
長押しイベント btn_longClick.setOnLongClickListener(new View.OnLongClickListener() { public boolean onLongClick(View v) { ...
タッチイベント ... public boolean onTouchEvent(MotionEvent event) { ...
ViewPager画面切り替え <android.support.v4.view.pagerTabStrip ... />
src/MainActivity.java mViewPager.setAdapter(mPagerAdapter); ... public Fragment getItem(int position) { ... public int getCount() { ... getPageTitle(int position) ...
アプリーションアイコンナビゲーションドロワー res/layout/activity_main.xml res/layout/activity_main.xml... mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) { ... public void onDrawerOpened(View drawerView) { ... public void onDrawerSlide(View drawView, float slideOffset) { ... public void onDrawerStateChange(int newState) { ... mDrawerLayout.setDrawerListener(mDrawerToggle); ... mDrawerToggle.syncstate(); ... public void onConfligurationChanged(Configration newConfig) { ... mDrawerLayout.openDrawer(Gravity.LEFT); ...
1 note · View note
night-finance-site-blog · 8 years ago
Text
プリファレンスエディットテキスト <EditTextPreference .../>
0 notes
night-finance-site-blog · 8 years ago
Text
アプリの設定:設定項目Preference
アプリの設定:設定項目Preference
pref.xml <CheckBoxPreference android:defaultValue="true" android:key="chk" android:summary="text" android:title="text" />
MainActivity.java String msg = "text: " + pref.getBoolean("chk", true);
----------------------
pref.xml<SwitchPreference android:defaultValue="true" android:key="switch" android:summary="text" android:title="text" />
MainActivity.javaString msg = "text: " + pref.getBoolean("switch", true);
--------------------------
pref.xml<ListPreference android:defaultValue="A" android:entries="@array/blood_items" android:entryValues="@array/blood_items" android:key="list" android:summary="text" android:title="text" />
MainActivity.java String msg = "text: " + pref.getString("list", "A");
--------------------------------
pref.xml <MultiSelectListPreference android:entries="@array/os_items" android:entryValues="@array/os_items" android:key="multi" android:summary="text" android:title="OS" />
MainActivity.javaString msg = "OS: "; Set<String> set = pref.getStringSet("multi", new HashSet<String>()); for (String str:set) { msg += str + " "; }
---------------------------------
pref.xml <RingtonePreference android:key="sound" android:ringtoneType="all" android:showDefault="true" android:showSilent="true" android:summary="text" android:title="text" />
MainActivity.java String url = pref.getString("sound", ""); if (url != "") { MediaPlayer mp = MediaPlayer.create(this, Uri.parse(url)); mp.start(); }
-----------------------------------
pref.xml <PreferenceCategory android:title="text" <EditTextPreference android:defaultValue="text" android:key="edittext_name" android:summary="text" android:title="text" /> <ListPreferenceandroid:defaultValue="A" android:entryValues="@array/blood_items" android:key="list" android:summary="text" android:title="text" /> </PreferenceCategory> <PreferenceCategory android:title="text"> <CheckBoxPreference android:defaultValue="true" android:key="chk' android:summary="text" android:title="text" /> </PreferenceCategory>
MainActivity.javaString msg = "text: " + pref.getString("edittext_name", "text"); msg += "\ntext: " + pref.getString("list", "A"); msg += "\ntext: " + pref.getBoolean("chk", true);
0 notes
night-finance-site-blog · 8 years ago
Text
アプリの設定:ユーザー名、パスワード、年齢
アプリの設定:ユーザー名、パスワード、年齢
pref.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android"http://schemas.android.com/res/android"> <EditTextPreference android:defaultValue="text" android:key="edittext_name" android:summary="text" android:title="text" /> <EditTextPreference android:defaultValue="123abc" android:key="edittext_pw" android:summary="text" android:title="text" /> <EditTextPreference android:defaultValue="20" android:summary="edittext_age" android:summary="text" android:title="text" /> </PreferenceScreen>
MyConfigFragment.java package to.msn.wings.preferencebasic; import android.os.Bundle; import android.preference.PreferenceFragment; public class MyConfigFragment extends PreferenceFragment { @Override public void onCreate(bundle saveInstanceState) { super.onCreate(sacedInstanceState); addPreferencesFromResource(R.xml.pref); } }
addPreferencesFromResourceメソッド public void addPreferencesFromResource(int resId)
MyConfigActivity.java package to.msn.wings.preferencebasic; import android.app.Activity; import android.app.FragmentTransaction; import android.os.Bundle; public class MyConfigActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // FragmentTransaction fragmentTransaction = getFragmentManger().beginTransaction(); fragmentTransaction.replace(android.R.id.content, new MyConfigFragment()); fragmentTransaction.commit(); } }
activity_main.xml <RelativeLayout xmlns:android="http://schemas.android/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="btn_onClick" android:text="text" /> </RelativeLayout>
MainActivity.java package to.msn.wings.preferencebasic; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { setContentView(savedInstanceState); setContentView(R.layout.activity_main); // SharedPreferences pref = PreferenceManager. getDefaultSharedPreferences(this); // String msg = ""; msg += "text: " + pref.getString("edittext_name", "text"); msg += "\ntext: " + pref.getString("edittext_pw", "123abc"); msg += "\ntext: " + pref.getString("edittext_age", "20"); Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); } // public void btn_onClick(View view) { Intent i = new Intent(this, MyConfigActivity.class); startActivity(i); } }
getDefaultSharedPreferencesメソッド public static SharedPreferences(Context context) getXxxxメソッド public abstract T getXxxx(String key, T defValue)
AndroidManifest.xml<manifest ...> <application ...> ...... <activity android:name=".MyConfigActivity"> </activity> </application> </manifest>
0 notes