diff --git a/src/ui/NotesListActivity.java b/src/ui/NotesListActivity.java index cb2f791..8f55201 100644 --- a/src/ui/NotesListActivity.java +++ b/src/ui/NotesListActivity.java @@ -55,6 +55,7 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.Button; import android.widget.EditText; +import android.widget.ImageView; import android.widget.ListView; import android.widget.PopupMenu; import android.widget.TextView; @@ -273,53 +274,158 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt mBackgroundManager = new BackgroundManager(this, R.id.notes_root); mBackgroundManager.applyBackgroundFromPrefs(); } + + + //显示背景设置对话框 private void showBackgroundSettingsDialog() { - final String[] options = new String[] {"纯色背景", "系统内置图片", "从相册选择", "恢复默认"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle("选择背景"); - builder.setItems(options, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - if (which == 0) { + View view = LayoutInflater.from(this).inflate(R.layout.background_settings_dialog, null); + builder.setView(view); + + Button btnSolidColor = (Button) view.findViewById(R.id.btn_solid_color); + Button btnBuiltinImage = (Button) view.findViewById(R.id.btn_builtin_image); + Button btnGalleryImage = (Button) view.findViewById(R.id.btn_gallery_image); + Button btnResetDefault = (Button) view.findViewById(R.id.btn_reset_default); + + final AlertDialog dialog = builder.create(); + + btnSolidColor.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); showColorChoiceDialog(); - } else if (which == 1) { + } + }); + + btnBuiltinImage.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); showBuiltinChoiceDialog(); - } else if (which == 2) { + } + }); + + btnGalleryImage.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); if (mBackgroundManager != null) mBackgroundManager.pickImageFromGallery(); - } else if (which == 3) { + } + }); + + btnResetDefault.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); if (mBackgroundManager != null) mBackgroundManager.resetToDefaultAndClear(); - } } }); - builder.show(); + + dialog.show(); } private void showColorChoiceDialog() { - final int[] colors = new int[] {0xFFFFFFFF, 0xFFFFFFCC, 0xFFFFF0F0, 0xFFE8FFF0, 0xFFDDE8FF}; - final String[] names = new String[] {"白色", "浅黄", "浅红", "浅绿", "浅蓝"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle("选择纯色背景"); - builder.setItems(names, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - int color = colors[which]; - if (mBackgroundManager != null) mBackgroundManager.applyColorAndSave(color); + View view = LayoutInflater.from(this).inflate(R.layout.color_choice_dialog, null); + builder.setView(view); + + View colorWhite = view.findViewById(R.id.color_white); + View colorYellow = view.findViewById(R.id.color_yellow); + View colorRed = view.findViewById(R.id.color_red); + View colorGreen = view.findViewById(R.id.color_green); + View colorBlue = view.findViewById(R.id.color_blue); + + final AlertDialog dialog = builder.create(); + + colorWhite.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyColorAndSave(0xFFFFFFFF); } }); - builder.show(); + + colorYellow.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyColorAndSave(0xFFFFFFCC); + } + }); + + colorRed.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyColorAndSave(0xFFFFF0F0); + } + }); + + colorGreen.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyColorAndSave(0xFFE8FFF0); + } + }); + + colorBlue.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyColorAndSave(0xFFDDE8FF); + } + }); + + dialog.show(); } private void showBuiltinChoiceDialog() { - final int[] resIds = new int[] {R.drawable.background_1, R.drawable.background_2, R.drawable.background_3, R.drawable.background_4}; - final String[] names = new String[] {"预设1", "预设2", "预设3", "预设4"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle("选择内置背景"); - builder.setItems(names, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - int resId = resIds[which]; - if (mBackgroundManager != null) mBackgroundManager.applyBuiltinAndSave(resId); + View view = LayoutInflater.from(this).inflate(R.layout.builtin_image_choice_dialog, null); + builder.setView(view); + + ImageView imageBuiltin1 = (ImageView) view.findViewById(R.id.image_builtin_1); + ImageView imageBuiltin2 = (ImageView) view.findViewById(R.id.image_builtin_2); + ImageView imageBuiltin3 = (ImageView) view.findViewById(R.id.image_builtin_3); + ImageView imageBuiltin4 = (ImageView) view.findViewById(R.id.image_builtin_4); + + final AlertDialog dialog = builder.create(); + + imageBuiltin1.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyBuiltinAndSave(R.drawable.background_1); } }); - builder.show(); + + imageBuiltin2.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyBuiltinAndSave(R.drawable.background_2); + } + }); + + imageBuiltin3.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyBuiltinAndSave(R.drawable.background_3); + } + }); + + imageBuiltin4.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + if (mBackgroundManager != null) mBackgroundManager.applyBuiltinAndSave(R.drawable.background_4); + } + }); + + dialog.show(); }