Добавлено главное меню действий

This commit is contained in:
Victor 2013-08-29 16:06:29 +03:00
parent 4eca8959a9
commit 7669622eac
6 changed files with 177 additions and 11 deletions

View File

@ -24,7 +24,7 @@
</activity> </activity>
<activity <activity
android:name="com.annimon.client.DiaryActivity" android:name="com.annimon.client.DiaryActivity"
android:label="@string/title_activity_diary" > android:label="@string/diary" >
</activity> </activity>
</application> </application>

38
res/values/arrays.xml Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="main_actions">
<item>aNNiMON</item>
<item>@string/mail</item>
<item>@string/notepad</item>
<item>@string/communication</item>
<item>@string/forum</item>
<item>@string/diary</item>
<item>@string/writer</item>
<item>@string/guestbook</item>
<item>@string/useful</item>
<item>@string/albums</item>
<item>@string/code</item>
<item>@string/ablogs</item>
<item>@string/downloads</item>
</string-array>
<string-array name="main_actions_path">
<item>profile</item>
<item>mail</item>
<item>notepad</item>
<item>@null</item>
<item>forum</item>
<item>diary</item>
<item>writer</item>
<item>guestbook</item>
<item>@null</item>
<item>albums</item>
<item>code</item>
<item>ablogs</item>
<item>downloads</item>
</string-array>
</resources>

View File

@ -3,6 +3,21 @@
<string name="app_name">aNNiMON.com</string> <string name="app_name">aNNiMON.com</string>
<string name="action_settings">Настройки</string> <string name="action_settings">Настройки</string>
<string name="title_activity_diary">Дневники</string>
<string name="useful">Полезное</string>
<string name="communication">Общение</string>
<string name="ablogs">Авторские статьи</string>
<string name="code">Полезные коды</string>
<string name="downloads">Загрузки</string>
<string name="albums">Фотоальбомы</string>
<string name="forum">Форум</string>
<string name="writer">Уголок писателя</string>
<string name="diary">Дневники</string>
<string name="guestbook">Гостевая</string>
<string name="mail">Почта</string>
<string name="notepad">Блокнот</string>
</resources> </resources>

View File

@ -5,10 +5,11 @@ import android.app.Activity;
import android.view.Menu; import android.view.Menu;
import android.view.View; import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView; import android.widget.ListView;
import android.widget.Toast; import android.widget.Toast;
import com.annimon.client.adapters.ActionsAdapter;
import net.simonvt.menudrawer.MenuDrawer; import net.simonvt.menudrawer.MenuDrawer;
import net.simonvt.menudrawer.Position; import net.simonvt.menudrawer.Position;
@ -19,7 +20,6 @@ public class MainActivity extends Activity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
/*Intent intent = new Intent(this, DiaryActivity.class); /*Intent intent = new Intent(this, DiaryActivity.class);
startActivity(intent);*/ startActivity(intent);*/
@ -28,17 +28,17 @@ public class MainActivity extends Activity {
mMenuDrawer.setContentView(R.layout.content); mMenuDrawer.setContentView(R.layout.content);
mMenuDrawer.setMenuView(R.layout.actions); mMenuDrawer.setMenuView(R.layout.actions);
final ListView viewActionsList = (ListView) findViewById(R.id.actions); final ActionsAdapter adapter = new ActionsAdapter(this);
adapter.addActions(getResources().getStringArray(R.array.main_actions),
getResources().getStringArray(R.array.main_actions_path));
final String[] menu = new String[] { final ListView viewActionsList = (ListView) findViewById(R.id.actions);
"Ôîðóì", "Äíåâíèêè", "Àëüáîìû", "Óãîëîê ïèñàòåëÿ" viewActionsList.setAdapter(adapter);
};
viewActionsList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menu));
viewActionsList.setOnItemClickListener(new AdapterView.OnItemClickListener() { viewActionsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override @Override
public void onItemClick(AdapterView<?> adapter, View v, int position, long flags) { public void onItemClick(AdapterView<?> av, View v, int position, long flags) {
Toast.makeText(getApplicationContext(), "Âûáðàíî: " + menu[position], Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), adapter.getAction(position).getName(), Toast.LENGTH_SHORT).show();
} }
}); });

View File

@ -0,0 +1,81 @@
package com.annimon.client.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.annimon.client.entities.Action;
import java.util.ArrayList;
public class ActionsAdapter extends BaseAdapter {
private final LayoutInflater mInflater;
private ArrayList<Action> actions;
public ActionsAdapter(Context context) {
mInflater = LayoutInflater.from(context);
actions = new ArrayList<Action>();
}
public void addAction(String name, String path) {
actions.add( new Action(name, path) );
}
public void addActions(String[] names, String[] paths) {
for (int i = 0; i < names.length; i++) {
actions.add( new Action(names[i], paths[i]) );
}
}
public Action getAction(int position) {
return actions.get(position);
}
@Override
public int getCount() {
return actions.size();
}
@Override
public Object getItem(int position) {
return actions.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(android.R.id.text1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
final Action action = actions.get(position);
holder.text.setTextSize(action.isTitle() ? 18 : 14);
holder.text.setText(action.getName());
return convertView;
}
@Override
public boolean isEnabled(int position) {
return !actions.get(position).isTitle();
}
private static class ViewHolder {
TextView text;
}
}

View File

@ -0,0 +1,32 @@
package com.annimon.client.entities;
public class Action {
public String name;
public String path;
public Action(String name, String path) {
this.name = name;
this.path = path;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public boolean isTitle() {
return (path == null);
}
}