Android ActionBar Menupoint (с 3 точками) - PullRequest
6 голосов
/ 16 января 2012

Я хотел внедрить ActionBar (Android 4.0) в тестовое приложение, чтобы увидеть, как оно работает и т. Д.

Мой вопрос: почти в каждом приложении для 4.0 в правом углу панели ActionBar есть «menuButton»со значком, который показывает 3 вертикальных точек.(См .: http://cdn.gottabemobile.com/wp-content/uploads/2011/12/ICS-Screen05.jpg)

Как я могу реализовать это в моем приложении?

Я пытался реализовать это «menuButton» с помощью Ах Spinneradapter ... но это всегда отображается после имени приложения вActionBar.

Кстати. Еще один вопрос: у меня есть кнопка обновления в моем приложении ... как я могу сделать вращение "Обновить значок", когда он нажимается?

Вот мой код...

Спасибо за помощь, и, пожалуйста, извините за мои навыки программирования ... Я новичок! :)

public class IVOAppActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ActionBar actionBar = getActionBar();

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

    SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list,
        android.R.layout.simple_spinner_dropdown_item);

    actionBar.setListNavigationCallbacks(mSpinnerAdapter, null);

    setContentView(R.layout.main);
}


/** Create ActionBar */
public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menubar, menu);
    return true;
}

/** Handle clicks on ActionBar */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {

    case R.id.menu_refresh:
        Toast.makeText(this, "Fake Refreshing..", Toast.LENGTH_SHORT).show();
    /*final Intent i = new Intent(this, Help.class);
    startActivity(i);*/
    break;
    case R.id.menu_settings:
        Toast.makeText(this, "Settings", Toast.LENGTH_SHORT).show();
    /*final Intent ii = new Intent(this, Options.class);
    startActivity(ii);*/
    break;


} return false;}}

XML ActionBar

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >


<item android:id="@+id/menu_refresh"
    android:icon="@drawable/ic_popup_sync_1"
    android:showAsAction="always"/>

<item android:id="@+id/menu_settings" 
    android:icon="@drawable/ic_menu_preferences"
    android:showAsAction="always"/></menu>

1 Ответ

7 голосов
/ 16 января 2012

Как я могу реализовать это в моем приложении?

Иметь меню параметров, с элементами, которые не были подняты на панель действий, в качестве кнопок панели инструментов и тому подобного. Поскольку вы решили создать два собственных пункта меню с android::showAsAction="always", они будут кнопками панели инструментов, и у вас не останется ничего для дополнительного меню.

Обратите внимание, что вы увидите кнопку с тремя точками только на устройствах, на которых нет кнопки MENU вне экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...