Добавлено меню, открывающееся по свайпу или кнопке меню
This commit is contained in:
parent
9ec4e160e7
commit
8d927c06e8
@ -1,5 +1,9 @@
|
||||
<resources>
|
||||
|
||||
<string name="app_name">RpyPlayer. Everlasting Summer</string>
|
||||
<string name="actions">Действия</string>
|
||||
|
||||
<string-array name="menu_items">
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
44
src/com/annimon/everlastingsummer/Dialogs.java
Normal file
44
src/com/annimon/everlastingsummer/Dialogs.java
Normal file
@ -0,0 +1,44 @@
|
||||
package com.annimon.everlastingsummer;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
/**
|
||||
* Работа с диалогами.
|
||||
* @author aNNiMON
|
||||
*/
|
||||
public final class Dialogs {
|
||||
|
||||
public static Dialogs with(Context context) {
|
||||
return new Dialogs(context);
|
||||
}
|
||||
|
||||
private final Context context;
|
||||
private final AlertDialog.Builder builder;
|
||||
|
||||
private Dialogs(Context context) {
|
||||
this.context = context;
|
||||
builder = new AlertDialog.Builder(new ContextThemeWrapper(context, R.style.Dialog));
|
||||
builder.setNegativeButton(android.R.string.cancel, dismissDialog);
|
||||
}
|
||||
|
||||
public void showMenu(int itemsId, DialogInterface.OnClickListener listener) {
|
||||
builder.setTitle(R.string.actions);
|
||||
builder.setItems(itemsId, listener);
|
||||
builder.setCancelable(true);
|
||||
builder.show();
|
||||
}
|
||||
|
||||
private final DialogInterface.OnClickListener dismissDialog = new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
};
|
||||
}
|
@ -6,6 +6,7 @@ import java.util.Map;
|
||||
import com.annimon.everlastingsummer.TouchGesture.TouchGestureType;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.media.MediaPlayer;
|
||||
import android.net.Uri;
|
||||
@ -14,6 +15,7 @@ import android.text.*;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Gravity;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.FrameLayout;
|
||||
@ -135,6 +137,23 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
||||
Parser.getInstance().next();
|
||||
break;
|
||||
case SWIPE:
|
||||
Dialogs.with(this).showMenu(R.array.menu_items, menu);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean onKeyUp(int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_MENU) {
|
||||
Dialogs.with(this).showMenu(R.array.menu_items, menu);
|
||||
return true;
|
||||
}
|
||||
return super.onKeyUp(keyCode, event);
|
||||
}
|
||||
|
||||
private void onMenuItemSelected(int item) {
|
||||
switch (item) {
|
||||
case 0:
|
||||
Dialogs.with(getInstance()).showNavigate();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -330,6 +349,14 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
||||
}
|
||||
};
|
||||
|
||||
private final DialogInterface.OnClickListener menu = new DialogInterface.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int item) {
|
||||
onMenuItemSelected(item);
|
||||
}
|
||||
};
|
||||
|
||||
private class Person {
|
||||
String name;
|
||||
int color;
|
||||
|
Loading…
Reference in New Issue
Block a user