Creare un nuovo progetto android chiamato HelloMenu Inserire nel layout main.xml una TextView <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_marginTop="40dip" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="fill_parent" android:gravity="center" /> </LinearLayout> Creare tre activity chiamate ActivityUno, ActivityDue, ActivityTre, associate al layout main.xml; ogni activity modifica la textview. public class ActivityUno extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView textView = (TextView)findViewById(R.id.textView1); textView.setText("Activity Uno"); } } Mappare le activity create sul manifest <activity android:name=".ActivityDue" android:label="@string/app_name"> </activity> <activity android:name=".ActivityTre" android:label="@string/app_name"> </activity> Creare un menu con tre item in res/menu_items.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menuUno" android:title="Activity Uno" android:titleCondensed="Uno"></item> <item android:id="@+id/menuDue" android:title="Activity Due" android:titleCondensed="Due"></item> <item android:id="@+id/menuTre" android:title="Activity Tre" android:titleCondensed="Tre"></item> </menu> Creare una activity BaseActivity con la gestione dei menu public class BaseActivity extends Activity { public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_items, menu); return true; } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menuUno: startActivity(new Intent(this, ActivityUno.class)); break; case R.id.menuDue: startActivity(new Intent(this, ActivityDue.class)); break; case R.id.menuTre: startActivity(new Intent(this, ActivityTre.class)); break; } return true; } } Le tre activity create in precedenza estenderanno la BaseActivity public class ActivityUno extends BaseActivity { ... } public class ActivityDue extends BaseActivity { ... } public class ActivityTre extends BaseActivity { ... }
|
|||||||

