Saturday, December 29, 2018

Tùy chỉnh nút Menu


Nút menu thông thường nếu mở trông sẽ tương tự như sau. 


Ta muốn tại màn hình ứng dụng, nếu bật lên nút menu sẽ có thể có các lựa chọn riêng trong ứng dụng, như mở ra class khác chẳng hạn.Trong file strings của thẻ values, ta thêm các dòng sau.
<string name="he">Update</string>
 <string name="he2">Newgame</string>
<string name="he3">Quit</string>
Thêm và sửa vào trong file main.xml của thẻ menu.
<item
        android:id="@+id/action_settings"
        android:orderInCategory="1"
        android:title="@string/action_settings"
        app:showAsAction="ifRoom"
        android:icon="@android:drawable/btn_star"/>
    <item
        android:id="@+id/new_game"
        android:orderInCategory="2"
        android:title="@string/he"
        app:showAsAction="ifRoom"
        android:icon="@android:drawable/btn_star"/>
    <item
        android:id="@+id/new_game2"
        android:orderInCategory="3"
        android:title="@string/he2"
        app:showAsAction="ifRoom"
        android:icon="@android:drawable/btn_star"/>

Trong class chính, thêm các dòng sau.
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
         // Inflate the menu; this adds items to the action bar if it is present.
         getMenuInflater().inflate(R.menu.main, menu);
         return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

         int id = item.getItemId();
         if (id == R.id.action_settings) {
    startActivityForResult(new Intent(
                      android.provider.Settings.ACTION_SETTINGS), 0);
             return true;
         }
         if (id == R.id.new_game) {
             Intent intent = new Intent(getApplicationContext(),
                      Newclass.class);
             startActivity(intent);

             return true;
         }
         if (id == R.id.new_game2) {
             Intent intent = new Intent(getApplicationContext(),
                      Newclass2.class);
             startActivity(intent);
             return true;
         }
         return super.onOptionsItemSelected(item);
    }

Bây giờ nếu ấn vào nút menu, màn hình sổ ra sẽ như sau, ấn vào sẽ mở ra class mới.

No comments:

Post a Comment